Mock Version: 6.1
Mock Version: 6.1
Mock Version: 6.1
Mock Version: 6.1
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;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=<mockbuild.trace_decorator.getLog object at 0x7fb3e106eee0>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;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\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.20250530172209.0ef74c7.el9.src.rpm
Child return code was: 0
Mock Version: 6.1
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;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=<mockbuild.trace_decorator.getLog object at 0x7fe7afd0aee0>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;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\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.20250530172209.0ef74c7.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;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=<mockbuild.trace_decorator.getLog object at 0x7fe7afd0aee0>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;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\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.bqkzT8
+ umask 022
+ cd /builddir/build/BUILD
+ cd /builddir/build/BUILD
+ rm -rf ironic-29.1.0.dev140
+ /usr/bin/gzip -dc /builddir/build/SOURCES/ironic-29.1.0.dev140-0.20250530172209.0ef74c7.tar.gz
+ /usr/bin/tar -xof -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd ironic-29.1.0.dev140
+ /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 '<rpm-build>'
+ /usr/bin/git config gc.auto 0
+ /usr/bin/git add --force .
+ /usr/bin/git commit -q --allow-empty -a --author 'rpm-build <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.OB7sXI
+ umask 022
+ cd /builddir/build/BUILD
+ cd ironic-29.1.0.dev140
+ 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.dev140/.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.dev140/.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.dev140/pyproject-wheeldir --output /builddir/build/BUILD/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.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.20250530172209.0ef74c7.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.20250530172209.0ef74c7.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;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=<mockbuild.trace_decorator.getLog object at 0x7fe7afd0aee0>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;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\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.8XBRXz
+ umask 022
+ cd /builddir/build/BUILD
+ cd ironic-29.1.0.dev140
+ 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.dev140/.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.dev140/.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.dev140/pyproject-wheeldir --output /builddir/build/BUILD/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.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.20250530172209.0ef74c7.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.20250530172209.0ef74c7.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;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=<mockbuild.trace_decorator.getLog object at 0x7fe7afd0aee0>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;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\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.i16oVW
+ umask 022
+ cd /builddir/build/BUILD
+ cd ironic-29.1.0.dev140
+ 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.dev140/.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.dev140/.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.dev140/pyproject-wheeldir --output /builddir/build/BUILD/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.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.8.0)
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 9.0.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.dev140/ironic-29.1.0.dev140.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.8.0)
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 9.0.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.20250530172209.0ef74c7.el9.x86_64-pyproject-buildrequires
+ rm -rfv ironic-29.1.0.dev140.dist-info/
removed 'ironic-29.1.0.dev140.dist-info/AUTHORS'
removed 'ironic-29.1.0.dev140.dist-info/LICENSE'
removed 'ironic-29.1.0.dev140.dist-info/METADATA'
removed 'ironic-29.1.0.dev140.dist-info/entry_points.txt'
removed 'ironic-29.1.0.dev140.dist-info/pbr.json'
removed 'ironic-29.1.0.dev140.dist-info/top_level.txt'
removed directory 'ironic-29.1.0.dev140.dist-info/'
+ RPM_EC=0
++ jobs -p
+ exit 0
Wrote: /builddir/build/SRPMS/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.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;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=<mockbuild.trace_decorator.getLog object at 0x7fe7afd0aee0>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;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\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.gBbGuu
+ umask 022
+ cd /builddir/build/BUILD
+ cd ironic-29.1.0.dev140
+ 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.dev140/.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.dev140/.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.dev140/pyproject-wheeldir --output /builddir/build/BUILD/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.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.11.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.8.0)
Handling oslo.context>=2.22.0 from tox --print-deps-only: py39
Requirement satisfied: oslo.context>=2.22.0
   (installed: oslo.context 6.0.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 satisfied: oslo.rootwrap>=5.8.0
   (installed: oslo.rootwrap 7.6.0)
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 9.0.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.10.0)
Handling oslo.messaging>=14.1.0 from tox --print-deps-only: py39
Requirement satisfied: oslo.messaging>=14.1.0
   (installed: oslo.messaging 17.0.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.7.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.dev140/ironic-29.1.0.dev140.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.11.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.8.0)
Handling oslo.context (>=2.22.0) from hook generated metadata: Requires-Dist (ironic)
Requirement satisfied: oslo.context (>=2.22.0)
   (installed: oslo.context 6.0.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 satisfied: oslo.rootwrap (>=5.8.0)
   (installed: oslo.rootwrap 7.6.0)
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 9.0.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.10.0)
Handling oslo.messaging (>=14.1.0) from hook generated metadata: Requires-Dist (ironic)
Requirement satisfied: oslo.messaging (>=14.1.0)
   (installed: oslo.messaging 17.0.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.7.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.20250530172209.0ef74c7.el9.x86_64-pyproject-buildrequires
+ rm -rfv ironic-29.1.0.dev140.dist-info/
removed 'ironic-29.1.0.dev140.dist-info/AUTHORS'
removed 'ironic-29.1.0.dev140.dist-info/LICENSE'
removed 'ironic-29.1.0.dev140.dist-info/METADATA'
removed 'ironic-29.1.0.dev140.dist-info/top_level.txt'
removed 'ironic-29.1.0.dev140.dist-info/pbr.json'
removed 'ironic-29.1.0.dev140.dist-info/entry_points.txt'
removed directory 'ironic-29.1.0.dev140.dist-info/'
+ RPM_EC=0
++ jobs -p
+ exit 0
Wrote: /builddir/build/SRPMS/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.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;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=<mockbuild.trace_decorator.getLog object at 0x7fe7afd0aee0>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;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\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.LSWp6P
+ umask 022
+ cd /builddir/build/BUILD
+ cd ironic-29.1.0.dev140
+ 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.dev140/.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.dev140/.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.dev140/pyproject-wheeldir --output /builddir/build/BUILD/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.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.11.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.8.0)
Handling oslo.context>=2.22.0 from tox --print-deps-only: py39
Requirement satisfied: oslo.context>=2.22.0
   (installed: oslo.context 6.0.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 satisfied: oslo.rootwrap>=5.8.0
   (installed: oslo.rootwrap 7.6.0)
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 9.0.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.10.0)
Handling oslo.messaging>=14.1.0 from tox --print-deps-only: py39
Requirement satisfied: oslo.messaging>=14.1.0
   (installed: oslo.messaging 17.0.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.7.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.dev140/ironic-29.1.0.dev140.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.11.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.8.0)
Handling oslo.context (>=2.22.0) from hook generated metadata: Requires-Dist (ironic)
Requirement satisfied: oslo.context (>=2.22.0)
   (installed: oslo.context 6.0.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 satisfied: oslo.rootwrap (>=5.8.0)
   (installed: oslo.rootwrap 7.6.0)
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 9.0.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.10.0)
Handling oslo.messaging (>=14.1.0) from hook generated metadata: Requires-Dist (ironic)
Requirement satisfied: oslo.messaging (>=14.1.0)
   (installed: oslo.messaging 17.0.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.7.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.20250530172209.0ef74c7.el9.x86_64-pyproject-buildrequires
+ rm -rfv ironic-29.1.0.dev140.dist-info/
removed 'ironic-29.1.0.dev140.dist-info/AUTHORS'
removed 'ironic-29.1.0.dev140.dist-info/LICENSE'
removed 'ironic-29.1.0.dev140.dist-info/METADATA'
removed 'ironic-29.1.0.dev140.dist-info/entry_points.txt'
removed 'ironic-29.1.0.dev140.dist-info/pbr.json'
removed 'ironic-29.1.0.dev140.dist-info/top_level.txt'
removed directory 'ironic-29.1.0.dev140.dist-info/'
+ RPM_EC=0
++ jobs -p
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.MBSzJr
+ umask 022
+ cd /builddir/build/BUILD
+ cd ironic-29.1.0.dev140
+ mkdir -p /builddir/build/BUILD/ironic-29.1.0.dev140/.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.dev140/.pyproject-builddir
+ /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_wheel.py /builddir/build/BUILD/ironic-29.1.0.dev140/pyproject-wheeldir
Processing /builddir/build/BUILD/ironic-29.1.0.dev140
  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.dev140/.pyproject-builddir/tmpusfuk4h_
  /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.dev140/.pyproject-builddir/pip-modern-metadata-obffhvlr/ironic.egg-info
  writing /builddir/build/BUILD/ironic-29.1.0.dev140/.pyproject-builddir/pip-modern-metadata-obffhvlr/ironic.egg-info/PKG-INFO
  writing dependency_links to /builddir/build/BUILD/ironic-29.1.0.dev140/.pyproject-builddir/pip-modern-metadata-obffhvlr/ironic.egg-info/dependency_links.txt
  writing entry points to /builddir/build/BUILD/ironic-29.1.0.dev140/.pyproject-builddir/pip-modern-metadata-obffhvlr/ironic.egg-info/entry_points.txt
  writing requirements to /builddir/build/BUILD/ironic-29.1.0.dev140/.pyproject-builddir/pip-modern-metadata-obffhvlr/ironic.egg-info/requires.txt
  writing top-level names to /builddir/build/BUILD/ironic-29.1.0.dev140/.pyproject-builddir/pip-modern-metadata-obffhvlr/ironic.egg-info/top_level.txt
  writing pbr to /builddir/build/BUILD/ironic-29.1.0.dev140/.pyproject-builddir/pip-modern-metadata-obffhvlr/ironic.egg-info/pbr.json
  [pbr] Processing SOURCES.txt
  writing manifest file '/builddir/build/BUILD/ironic-29.1.0.dev140/.pyproject-builddir/pip-modern-metadata-obffhvlr/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.dev140/.pyproject-builddir/pip-modern-metadata-obffhvlr/ironic.egg-info/SOURCES.txt'
  creating '/builddir/build/BUILD/ironic-29.1.0.dev140/.pyproject-builddir/pip-modern-metadata-obffhvlr/ironic-29.1.0.dev140.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.dev140/.pyproject-builddir/tmp5fd17lug
  /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
  copying ironic/version.py -> build/lib/ironic
  copying ironic/__init__.py -> build/lib/ironic
  creating build/lib/ironic/tests
  creating build/lib/ironic/tests/unit
  creating build/lib/ironic/tests/unit/api
  creating build/lib/ironic/tests/unit/api/controllers
  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/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/drivers
  creating build/lib/ironic/drivers/modules
  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/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/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/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/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/tests/base.py -> build/lib/ironic/tests
  copying ironic/tests/__init__.py -> build/lib/ironic/tests
  creating build/lib/ironic/tests/unit/drivers
  creating build/lib/ironic/tests/unit/drivers/modules
  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/wsgi
  copying ironic/wsgi/__init__.py -> build/lib/ironic/wsgi
  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/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/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
  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/common
  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
  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
  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/db
  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
  creating build/lib/ironic/tests/unit/console
  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/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/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/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/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/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/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
  copying ironic/tests/unit/console/__init__.py -> build/lib/ironic/tests/unit/console
  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/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
  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/api/validation
  copying ironic/api/validation/validators.py -> build/lib/ironic/api/validation
  copying ironic/api/validation/__init__.py -> build/lib/ironic/api/validation
  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
  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/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/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/hacking
  copying ironic/hacking/checks.py -> build/lib/ironic/hacking
  copying ironic/hacking/__init__.py -> build/lib/ironic/hacking
  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
  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
  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
  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/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/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
  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
  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/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/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/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/functional
  copying ironic/tests/functional/__init__.py -> build/lib/ironic/tests/functional
  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/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
  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
  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/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
  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
  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/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/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/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
  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/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/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
  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/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/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/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
  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/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/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/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
  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
  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/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
  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/api/controllers/v1/network-data-schema.json -> build/lib/ironic/api/controllers/v1
  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/console/container/ironic-console.container.template -> build/lib/ironic/console/container
  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
  copying ironic/drivers/raid_config_schema.json -> build/lib/ironic/drivers
  copying ironic/common/grub_conf.template -> build/lib/ironic/common
  copying ironic/common/isolinux_config.template -> build/lib/ironic/common
  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/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
  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
  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/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/drivers/modules/inspector/hooks/known_accelerators.yaml -> build/lib/ironic/drivers/modules/inspector/hooks
  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
  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/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/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
  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/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/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/console
  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/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
  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/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/db
  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/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
  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
  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
  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/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/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/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
  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/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/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/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
  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/wsgi
  copying build/lib/ironic/wsgi/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/wsgi
  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
  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/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/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
  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/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/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/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/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/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
  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/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
  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/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
  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
  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/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/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/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/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
  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/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
  creating 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
  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/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
  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/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/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/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/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/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/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
  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/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/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/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
  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/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/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/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/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
  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
  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/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
  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
  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
  running install_data
  creating build/bdist.linux-x86_64/wheel/ironic-29.1.0.dev140.data
  creating build/bdist.linux-x86_64/wheel/ironic-29.1.0.dev140.data/data
  creating build/bdist.linux-x86_64/wheel/ironic-29.1.0.dev140.data/data/etc
  creating build/bdist.linux-x86_64/wheel/ironic-29.1.0.dev140.data/data/etc/ironic
  copying etc/ironic/rootwrap.conf -> build/bdist.linux-x86_64/wheel/ironic-29.1.0.dev140.data/data/etc/ironic
  creating build/bdist.linux-x86_64/wheel/ironic-29.1.0.dev140.data/data/etc/ironic/rootwrap.d
  copying etc/ironic/rootwrap.d/ironic-utils.filters -> build/bdist.linux-x86_64/wheel/ironic-29.1.0.dev140.data/data/etc/ironic/rootwrap.d/
  creating build/bdist.linux-x86_64/wheel/ironic-29.1.0.dev140.data/data/share
  creating build/bdist.linux-x86_64/wheel/ironic-29.1.0.dev140.data/data/share/ironic
  creating build/bdist.linux-x86_64/wheel/ironic-29.1.0.dev140.data/data/share/ironic/vnc-container
  copying tools/vnc-container/README.rst -> build/bdist.linux-x86_64/wheel/ironic-29.1.0.dev140.data/data/share/ironic/vnc-container/
  copying tools/vnc-container/Containerfile -> build/bdist.linux-x86_64/wheel/ironic-29.1.0.dev140.data/data/share/ironic/vnc-container/
  creating build/bdist.linux-x86_64/wheel/ironic-29.1.0.dev140.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.dev140.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.dev140.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.dev140.data/data/share/ironic/vnc-container/bin
  creating build/bdist.linux-x86_64/wheel/ironic-29.1.0.dev140.data/data/share/ironic/vnc-container/drivers
  creating build/bdist.linux-x86_64/wheel/ironic-29.1.0.dev140.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.dev140.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.dev140.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.dev140-py3.9.egg-info
  running install_scripts
  Installing ironic-api-wsgi script to build/bdist.linux-x86_64/wheel/ironic-29.1.0.dev140.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.dev140.dist-info/WHEEL
  creating '/builddir/build/BUILD/ironic-29.1.0.dev140/.pyproject-builddir/pip-wheel-olpzza_1/tmp302obg38/ironic-29.1.0.dev140-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.dev140.data/data/etc/ironic/rootwrap.conf'
  adding 'ironic-29.1.0.dev140.data/data/etc/ironic/rootwrap.d/ironic-utils.filters'
  adding 'ironic-29.1.0.dev140.data/data/share/ironic/vnc-container/Containerfile'
  adding 'ironic-29.1.0.dev140.data/data/share/ironic/vnc-container/README.rst'
  adding 'ironic-29.1.0.dev140.data/data/share/ironic/vnc-container/bin/start-browser-x11vnc.sh'
  adding 'ironic-29.1.0.dev140.data/data/share/ironic/vnc-container/bin/start-selenium-browser.py'
  adding 'ironic-29.1.0.dev140.data/data/share/ironic/vnc-container/bin/start-xvfb.sh'
  adding 'ironic-29.1.0.dev140.data/data/share/ironic/vnc-container/drivers/fake/index.html'
  adding 'ironic-29.1.0.dev140.data/data/share/ironic/vnc-container/drivers/fake/ironic_mascot_color.png'
  adding 'ironic-29.1.0.dev140.data/scripts/ironic-api-wsgi'
  adding 'ironic-29.1.0.dev140.dist-info/AUTHORS'
  adding 'ironic-29.1.0.dev140.dist-info/LICENSE'
  adding 'ironic-29.1.0.dev140.dist-info/METADATA'
  adding 'ironic-29.1.0.dev140.dist-info/WHEEL'
  adding 'ironic-29.1.0.dev140.dist-info/entry_points.txt'
  adding 'ironic-29.1.0.dev140.dist-info/pbr.json'
  adding 'ironic-29.1.0.dev140.dist-info/top_level.txt'
  adding 'ironic-29.1.0.dev140.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.dev140-py3-none-any.whl size=2264147 sha256=6f78cbbf8e310f30cd261d309686f23c5c8f32e38959051d1c35cfff2c729aa3
  Stored in directory: /builddir/.cache/pip/wheels/47/44/0c/c30688d090f5a915da66d72d9717e5317aa870c8385b968806
Successfully built ironic
+ RPM_EC=0
++ jobs -p
+ exit 0
Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.WaaoKR
+ umask 022
+ cd /builddir/build/BUILD
+ '[' /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64 '!=' / ']'
+ rm -rf /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64
++ dirname /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64
+ mkdir -p /builddir/build/BUILDROOT
+ mkdir /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64
+ cd ironic-29.1.0.dev140
++ ls /builddir/build/BUILD/ironic-29.1.0.dev140/pyproject-wheeldir/ironic-29.1.0.dev140-py3-none-any.whl
++ xargs basename --multiple
++ sed -E 's/([^-]+)-([^-]+)-.+\.whl/\1==\2/'
+ specifier=ironic==29.1.0.dev140
+ '[' -z ironic==29.1.0.dev140 ']'
+ TMPDIR=/builddir/build/BUILD/ironic-29.1.0.dev140/.pyproject-builddir
+ /usr/bin/python3 -m pip install --root /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.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.dev140/pyproject-wheeldir ironic==29.1.0.dev140
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.dev140/pyproject-wheeldir
Processing ./pyproject-wheeldir/ironic-29.1.0.dev140-py3-none-any.whl
Installing collected packages: ironic
  changing mode of /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64/usr/bin/ironic to 755
  changing mode of /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64/usr/bin/ironic-api to 755
  changing mode of /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64/usr/bin/ironic-conductor to 755
  changing mode of /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64/usr/bin/ironic-dbsync to 755
  changing mode of /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64/usr/bin/ironic-novncproxy to 755
  changing mode of /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64/usr/bin/ironic-pxe-filter to 755
  changing mode of /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64/usr/bin/ironic-rootwrap to 755
  changing mode of /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64/usr/bin/ironic-status to 755
Successfully installed ironic-29.1.0.dev140
+ '[' -d /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.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.20250530172209.0ef74c7.el9.x86_64/usr/bin/ironic /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64/usr/bin/ironic-api /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64/usr/bin/ironic-api-wsgi /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64/usr/bin/ironic-conductor /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64/usr/bin/ironic-dbsync /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64/usr/bin/ironic-novncproxy /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64/usr/bin/ironic-pxe-filter /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64/usr/bin/ironic-rootwrap /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64/usr/bin/ironic-status
/builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64/usr/bin/ironic: updating
/builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64/usr/bin/ironic-api: updating
/builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64/usr/bin/ironic-api-wsgi: updating
/builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64/usr/bin/ironic-conductor: updating
/builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64/usr/bin/ironic-dbsync: updating
/builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64/usr/bin/ironic-novncproxy: updating
/builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64/usr/bin/ironic-pxe-filter: updating
/builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64/usr/bin/ironic-rootwrap: updating
/builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64/usr/bin/ironic-status: updating
+ rm -rfv /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64/usr/bin/__pycache__
+ rm -f /builddir/build/BUILD/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64-pyproject-ghost-distinfo
+ site_dirs=()
+ '[' -d /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.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.20250530172209.0ef74c7.el9.x86_64/usr/lib64/python3.9/site-packages '!=' /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64/usr/lib/python3.9/site-packages ']'
+ '[' -d /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.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.20250530172209.0ef74c7.el9.x86_64$site_dir/*.dist-info
+ echo '%ghost /usr/lib/python3.9/site-packages/ironic-29.1.0.dev140.dist-info'
+ sed -i s/pip/rpm/ /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64/usr/lib/python3.9/site-packages/ironic-29.1.0.dev140.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.20250530172209.0ef74c7.el9.x86_64 --record /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64/usr/lib/python3.9/site-packages/ironic-29.1.0.dev140.dist-info/RECORD --output /builddir/build/BUILD/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64-pyproject-record
+ rm -fv /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64/usr/lib/python3.9/site-packages/ironic-29.1.0.dev140.dist-info/RECORD
removed '/builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64/usr/lib/python3.9/site-packages/ironic-29.1.0.dev140.dist-info/RECORD'
+ rm -fv /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64/usr/lib/python3.9/site-packages/ironic-29.1.0.dev140.dist-info/REQUESTED
removed '/builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64/usr/lib/python3.9/site-packages/ironic-29.1.0.dev140.dist-info/REQUESTED'
++ cut -f1 '-d '
++ wc -l /builddir/build/BUILD/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.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.20250530172209.0ef74c7.el9.x86_64/etc/logrotate.d/openstack-ironic
+ mkdir -p /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.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.20250530172209.0ef74c7.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.20250530172209.0ef74c7.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.20250530172209.0ef74c7.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.20250530172209.0ef74c7.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.20250530172209.0ef74c7.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.20250530172209.0ef74c7.el9.x86_64/usr/lib/systemd/system
+ mkdir -p /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.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.20250530172209.0ef74c7.el9.x86_64/etc/sudoers.d/ironic
+ mkdir -p /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64/var/lib/ironic/
+ mkdir -p /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64/var/log/ironic/
+ mkdir -p /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64/etc/ironic/rootwrap.d
+ export PYTHONPATH=/builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64//usr/lib/python3.9/site-packages
+ PYTHONPATH=/builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.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.20250530172209.0ef74c7.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.20250530172209.0ef74c7.el9.x86_64/usr/etc/ironic/rootwrap.conf /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64//etc/ironic/rootwrap.conf
+ mv /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64/usr/etc/ironic/rootwrap.d/ironic-utils.filters /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64//etc/ironic/rootwrap.d/
+ rmdir /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64/usr/etc/ironic/rootwrap.d
+ rmdir /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.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.20250530172209.0ef74c7.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.20250530172209.0ef74c7.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.20250530172209.0ef74c7.el9 --unique-debug-suffix -29.1.0-0.20250530172209.0ef74c7.el9.x86_64 --unique-debug-src-base openstack-ironic-29.1.0-0.20250530172209.0ef74c7.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.dev140
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.20250530172209.0ef74c7.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.lemVrg
+ umask 022
+ cd /builddir/build/BUILD
+ cd ironic-29.1.0.dev140
+ 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.20250530172209.0ef74c7.el9.x86_64/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin
+ PYTHONPATH=/builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64/usr/lib64/python3.9/site-packages:/builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64/usr/lib/python3.9/site-packages
+ PYTHONDONTWRITEBYTECODE=1
+ PYTEST_ADDOPTS=' --ignore=/builddir/build/BUILD/ironic-29.1.0.dev140/.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-30 13:26:01.944 2559240 INFO oslo_service.backend [-] Loading backend: eventlet
2025-05-30 13:26:01.953 2559240 INFO oslo_service.backend [-] Backend 'eventlet' successfully loaded and cached.
2025-05-30 13:26:02.399 2559245 INFO oslo_service.backend [-] Loading backend: eventlet
2025-05-30 13:26:02.412 2559245 INFO oslo_service.backend [-] Backend 'eventlet' successfully loaded and cached.
2025-05-30 13:26:02.896 2559250 INFO oslo_service.backend [-] Loading backend: eventlet
2025-05-30 13:26:02.903 2559253 INFO oslo_service.backend [-] Loading backend: eventlet
2025-05-30 13:26:02.913 2559250 INFO oslo_service.backend [-] Backend 'eventlet' successfully loaded and cached.
2025-05-30 13:26:02.922 2559253 INFO oslo_service.backend [-] Backend 'eventlet' successfully loaded and cached.
{0} ironic.tests.unit.api.controllers.v1.test_collection.TestCollection.test_get_next [0.146791s] ... ok
{0} ironic.tests.unit.api.controllers.v1.test_collection.TestCollection.test_has_next [0.054803s] ... ok
{0} ironic.tests.unit.api.controllers.v1.test_collection.TestCollection.test_list_convert_with_links [0.074592s] ... ok
{0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links [1.175679s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors/?limit=3 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-d22a71fd-75c8-4491-9abd-88ec00e1ca5e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"conductors": [{"hostname": "79a332aa-f11c-45e5-9ac8-ee2c300dd88f", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/79a332aa-f11c-45e5-9ac8-ee2c300dd88f", "rel": "self"}, {"href": "http://localhost/conductors/79a332aa-f11c-45e5-9ac8-ee2c300dd88f", "rel": "bookmark"}], "alive": true}, {"hostname": "3a50115d-f5bd-4d73-a421-42a2498193ed", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/3a50115d-f5bd-4d73-a421-42a2498193ed", "rel": "self"}, {"href": "http://localhost/conductors/3a50115d-f5bd-4d73-a421-42a2498193ed", "rel": "bookmark"}], "alive": true}, {"hostname": "5a0ab7c6-1e6c-40a1-8a9e-c7754848c8b1", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/5a0ab7c6-1e6c-40a1-8a9e-c7754848c8b1", "rel": "self"}, {"href": "http://localhost/conductors/5a0ab7c6-1e6c-40a1-8a9e-c7754848c8b1", "rel": "bookmark"}], "alive": true}], "next": "http://localhost/v1/conductors?sort_key=id&sort_dir=asc&fields=hostname,conductor_group,alive&limit=3&marker=5a0ab7c6-1e6c-40a1-8a9e-c7754848c8b1"}
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_conductor.TestListConductors.test_collection_links_custom_fields [0.117305s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors?fields=hostname,alive WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-2fc0d91e-5348-4c70-a7f6-fbf7551b3e6e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"conductors": [{"hostname": "a444bea9-c8a5-458f-853e-de0eb5b35804", "links": [{"href": "http://localhost/v1/conductors/a444bea9-c8a5-458f-853e-de0eb5b35804", "rel": "self"}, {"href": "http://localhost/conductors/a444bea9-c8a5-458f-853e-de0eb5b35804", "rel": "bookmark"}], "alive": true}, {"hostname": "311330c7-2c1a-4b85-b43f-1d86e0f19402", "links": [{"href": "http://localhost/v1/conductors/311330c7-2c1a-4b85-b43f-1d86e0f19402", "rel": "self"}, {"href": "http://localhost/conductors/311330c7-2c1a-4b85-b43f-1d86e0f19402", "rel": "bookmark"}], "alive": true}, {"hostname": "63e03d4a-5a8e-4a34-b504-c08809038251", "links": [{"href": "http://localhost/v1/conductors/63e03d4a-5a8e-4a34-b504-c08809038251", "rel": "self"}, {"href": "http://localhost/conductors/63e03d4a-5a8e-4a34-b504-c08809038251", "rel": "bookmark"}], "alive": true}], "next": "http://localhost/v1/conductors?sort_key=id&sort_dir=asc&fields=hostname,alive&limit=3&marker=63e03d4a-5a8e-4a34-b504-c08809038251"}
{0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links_default_limit [0.093150s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-d2da0ea8-3f19-45fe-bd2d-dd9c2bf68d61
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"conductors": [{"hostname": "1fd99d0f-be11-4cb6-8a91-6c99b331e81b", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/1fd99d0f-be11-4cb6-8a91-6c99b331e81b", "rel": "self"}, {"href": "http://localhost/conductors/1fd99d0f-be11-4cb6-8a91-6c99b331e81b", "rel": "bookmark"}], "alive": true}, {"hostname": "f6395140-4b50-4ba2-92b2-6337078fcba9", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/f6395140-4b50-4ba2-92b2-6337078fcba9", "rel": "self"}, {"href": "http://localhost/conductors/f6395140-4b50-4ba2-92b2-6337078fcba9", "rel": "bookmark"}], "alive": true}, {"hostname": "24366dc7-e55f-470f-9de0-370889d6ffe7", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/24366dc7-e55f-470f-9de0-370889d6ffe7", "rel": "self"}, {"href": "http://localhost/conductors/24366dc7-e55f-470f-9de0-370889d6ffe7", "rel": "bookmark"}], "alive": true}], "next": "http://localhost/v1/conductors?sort_key=id&sort_dir=asc&fields=hostname,conductor_group,alive&limit=3&marker=24366dc7-e55f-470f-9de0-370889d6ffe7"}
{0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_empty [0.105961s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-51540ba4-e41f-4bcc-9c4d-38938d7d601f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"conductors": []}
{0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_collection_custom_fields [0.123575s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors?fields=hostname,alive WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-9e3a041f-d7fb-49ad-ab30-0ca4496a1463
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}]}
{0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_custom_fields_invalid_fields [0.115698s] ... 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-4f3157b9-d775-47ea-b759-8aae8e2b9bdb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one [0.107331s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors/rocky.rocks WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-bb9aafad-d22a-4c65-a2b0-f322a3ef2f54
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"created_at": "2025-05-30T17:26:12.436398+00:00", "updated_at": "2025-05-30T17:26:12.436135+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_conductor.TestListConductors.test_get_one_conductor_offline_old_heartbeat [0.124080s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors/rocky.rocks WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-eec71293-8241-4370-88e7-d1d40bc40fcc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}
{0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_conductor_offline_unregistered [0.124019s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors/rocky.rocks WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-40702705-0456-47a5-ba49-6bae79a49bca
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"created_at": "2025-05-30T17:26:12.675469+00:00", "updated_at": "2025-05-30T17:26:12.686108+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}
{0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_custom_fields [0.104409s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors/rocky.rocks?fields=hostname,alive WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-ae443174-181c-4a6f-870a-7ff5c7d93893
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_conductor.TestListConductors.test_get_one_with_invalid_api [0.097128s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors/rocky.rocks WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-a65ba6a4-7023-40e3-9ef4-e6ca0b0f44d5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_with_port_and_v6 [0.126549s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors/[::1]:8090 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-af541890-6c72-4632-985f-10d077b9b768
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"created_at": "2025-05-30T17:26:13.017665+00:00", "updated_at": "2025-05-30T17:26:13.017420+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}
{0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_links [0.159725s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors/rocky.rocks WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-426c051e-58eb-417a-bdb4-262251fd6476
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"created_at": "2025-05-30T17:26:13.127233+00:00", "updated_at": "2025-05-30T17:26:13.126996+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-e793e62d-67fa-4a40-a494-01924e109e20
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"created_at": "2025-05-30T17:26:13.127233+00:00", "updated_at": "2025-05-30T17:26:13.126996+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-d4d9e3e3-5f2d-4e7d-b765-fb1803e67716
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"created_at": "2025-05-30T17:26:13.127233+00:00", "updated_at": "2025-05-30T17:26:13.126996+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_conductor.TestListConductors.test_links_public_url [0.186787s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors/rocky.rocks WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-48b0ce1f-798b-43b1-b01e-9622c597c05a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"created_at": "2025-05-30T17:26:13.332960+00:00", "updated_at": "2025-05-30T17:26:13.332684+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-a8f61b71-a5f1-4940-8a11-9bc27a2dd70a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"created_at": "2025-05-30T17:26:13.332960+00:00", "updated_at": "2025-05-30T17:26:13.332684+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-021275be-ee8d-4dbe-b242-2552f5675e50
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"created_at": "2025-05-30T17:26:13.332960+00:00", "updated_at": "2025-05-30T17:26:13.332684+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}
{0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_list [0.142739s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-08f117b1-80ed-4b9a-ab9e-40b2c3ef1304
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_conductor.TestListConductors.test_list_with_detail [0.112787s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors?detail=true WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-b8627847-0c64-46fd-aec6-e8930dac8ce9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"conductors": [{"created_at": "2025-05-30T17:26:13.628512+00:00", "updated_at": "2025-05-30T17:26:13.628219+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-30T17:26:13.633206+00:00", "updated_at": "2025-05-30T17:26:13.633036+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_conductor.TestListConductors.test_list_with_invalid_api [0.100408s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-f64bc394-e96c-4a2e-ae14-6e8f564cbd5f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_sort_key [0.145432s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors?sort_key=hostname WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-4a1eada0-f09c-44db-b1fb-8aa25c6d2765
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"conductors": [{"hostname": "030f8cff-2bd7-4572-a4c1-c82f7a7d5f30", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/030f8cff-2bd7-4572-a4c1-c82f7a7d5f30", "rel": "self"}, {"href": "http://localhost/conductors/030f8cff-2bd7-4572-a4c1-c82f7a7d5f30", "rel": "bookmark"}], "alive": true}, {"hostname": "1b7b22ae-ddeb-46fa-935f-aea694c142d9", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/1b7b22ae-ddeb-46fa-935f-aea694c142d9", "rel": "self"}, {"href": "http://localhost/conductors/1b7b22ae-ddeb-46fa-935f-aea694c142d9", "rel": "bookmark"}], "alive": true}, {"hostname": "336236e5-10e6-494a-8f7e-d8d7121bbc94", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/336236e5-10e6-494a-8f7e-d8d7121bbc94", "rel": "self"}, {"href": "http://localhost/conductors/336236e5-10e6-494a-8f7e-d8d7121bbc94", "rel": "bookmark"}], "alive": true}, {"hostname": "8d7ff971-b4a2-4cce-bf28-38ba1479c196", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/8d7ff971-b4a2-4cce-bf28-38ba1479c196", "rel": "self"}, {"href": "http://localhost/conductors/8d7ff971-b4a2-4cce-bf28-38ba1479c196", "rel": "bookmark"}], "alive": true}, {"hostname": "e280e8fa-f9da-4667-85db-3be14a939cc3", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/e280e8fa-f9da-4667-85db-3be14a939cc3", "rel": "self"}, {"href": "http://localhost/conductors/e280e8fa-f9da-4667-85db-3be14a939cc3", "rel": "bookmark"}], "alive": true}]}
{0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_sort_key_invalid [0.100956s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors?sort_key=alive WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-eefaf60b-6f0c-48fa-8b82-74ae8b3bb715
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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-6648c3eb-78bd-4628-9f75-2b391b8d9600
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value drivers is an invalid field for sorting\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links [0.158768s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates/?limit=3 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-e1c89fff-598e-4e85-98c6-b674aac633ea
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"deploy_templates": [{"uuid": "1b4647a4-511c-4bdb-99a3-c4a357fe7c33", "name": "CUSTOM_DT0", "links": [{"href": "http://localhost/v1/deploy_templates/1b4647a4-511c-4bdb-99a3-c4a357fe7c33", "rel": "self"}, {"href": "http://localhost/deploy_templates/1b4647a4-511c-4bdb-99a3-c4a357fe7c33", "rel": "bookmark"}]}, {"uuid": "1cffec19-bd12-4b0a-a51b-ce8b969dc41f", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/1cffec19-bd12-4b0a-a51b-ce8b969dc41f", "rel": "self"}, {"href": "http://localhost/deploy_templates/1cffec19-bd12-4b0a-a51b-ce8b969dc41f", "rel": "bookmark"}]}, {"uuid": "62f0b218-262e-4ca1-a26c-48ce8413333f", "name": "CUSTOM_DT2", "links": [{"href": "http://localhost/v1/deploy_templates/62f0b218-262e-4ca1-a26c-48ce8413333f", "rel": "self"}, {"href": "http://localhost/deploy_templates/62f0b218-262e-4ca1-a26c-48ce8413333f", "rel": "bookmark"}]}], "next": "http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=uuid,name&limit=3&marker=62f0b218-262e-4ca1-a26c-48ce8413333f"}
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links_custom_fields [0.136687s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates?fields=uuid,steps WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-fc56dd73-950c-4374-b9d1-b8ca07020d76
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"deploy_templates": [{"uuid": "1bf9b3cb-44b5-400a-8981-fab74408046b", "links": [{"href": "http://localhost/v1/deploy_templates/1bf9b3cb-44b5-400a-8981-fab74408046b", "rel": "self"}, {"href": "http://localhost/deploy_templates/1bf9b3cb-44b5-400a-8981-fab74408046b", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}, {"uuid": "777ba70b-5df0-4cbd-b223-af96e27da9f4", "links": [{"href": "http://localhost/v1/deploy_templates/777ba70b-5df0-4cbd-b223-af96e27da9f4", "rel": "self"}, {"href": "http://localhost/deploy_templates/777ba70b-5df0-4cbd-b223-af96e27da9f4", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}, {"uuid": "e5e47393-e3b2-417b-a85b-ea2735add023", "links": [{"href": "http://localhost/v1/deploy_templates/e5e47393-e3b2-417b-a85b-ea2735add023", "rel": "self"}, {"href": "http://localhost/deploy_templates/e5e47393-e3b2-417b-a85b-ea2735add023", "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=e5e47393-e3b2-417b-a85b-ea2735add023"}
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links_default_limit [0.131916s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-bf60285c-f6bb-42ce-8c75-55f634b60af9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"deploy_templates": [{"uuid": "0e85c2e8-098f-4ff4-8b4d-411b4738faae", "name": "CUSTOM_DT0", "links": [{"href": "http://localhost/v1/deploy_templates/0e85c2e8-098f-4ff4-8b4d-411b4738faae", "rel": "self"}, {"href": "http://localhost/deploy_templates/0e85c2e8-098f-4ff4-8b4d-411b4738faae", "rel": "bookmark"}]}, {"uuid": "8320db40-de5d-4def-aa27-435f3ba0b1ef", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/8320db40-de5d-4def-aa27-435f3ba0b1ef", "rel": "self"}, {"href": "http://localhost/deploy_templates/8320db40-de5d-4def-aa27-435f3ba0b1ef", "rel": "bookmark"}]}, {"uuid": "36b9f872-e250-43f0-9825-ac1421063c82", "name": "CUSTOM_DT2", "links": [{"href": "http://localhost/v1/deploy_templates/36b9f872-e250-43f0-9825-ac1421063c82", "rel": "self"}, {"href": "http://localhost/deploy_templates/36b9f872-e250-43f0-9825-ac1421063c82", "rel": "bookmark"}]}], "next": "http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=uuid,name&limit=3&marker=36b9f872-e250-43f0-9825-ac1421063c82"}
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_query [0.113300s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates?detail=True WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-821d86cb-b569-461c-8bab-04c9a151b381
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"deploy_templates": [{"uuid": "4265c45b-d0c6-4fc8-a48c-d0af32a0a349", "created_at": "2025-05-30T17:26:14.538316+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/4265c45b-d0c6-4fc8-a48c-d0af32a0a349", "rel": "self"}, {"href": "http://localhost/deploy_templates/4265c45b-d0c6-4fc8-a48c-d0af32a0a349", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}]}
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_query_false [0.151165s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-751377fa-7d6e-4b51-8e74-a38bee067000
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"deploy_templates": [{"uuid": "2ac9c656-d603-4221-a7d0-a79fe62bd451", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/2ac9c656-d603-4221-a7d0-a79fe62bd451", "rel": "self"}, {"href": "http://localhost/deploy_templates/2ac9c656-d603-4221-a7d0-a79fe62bd451", "rel": "bookmark"}]}]}
GET /v1/deploy_templates?detail=False WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-a9d68b29-1909-42e9-86dc-fdf98b009b13
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"deploy_templates": [{"uuid": "2ac9c656-d603-4221-a7d0-a79fe62bd451", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/2ac9c656-d603-4221-a7d0-a79fe62bd451", "rel": "self"}, {"href": "http://localhost/deploy_templates/2ac9c656-d603-4221-a7d0-a79fe62bd451", "rel": "bookmark"}]}]}
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_sort_key_allowed [0.128072s] ... 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-ab9f5263-c612-40e1-b345-d5907f300959
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"deploy_templates": [{"uuid": "1e6a2343-73c9-43a4-a57a-fa339f46665e", "created_at": "2025-05-30T17:26:14.808910+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/1e6a2343-73c9-43a4-a57a-fa339f46665e", "rel": "self"}, {"href": "http://localhost/deploy_templates/1e6a2343-73c9-43a4-a57a-fa339f46665e", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}, {"uuid": "0c016502-8b53-45a2-a97b-4f572669a6ad", "created_at": "2025-05-30T17:26:14.807601+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/0c016502-8b53-45a2-a97b-4f572669a6ad", "rel": "self"}, {"href": "http://localhost/deploy_templates/0c016502-8b53-45a2-a97b-4f572669a6ad", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}, {"uuid": "5410a72c-dd65-4942-97b4-4ec0f4989ff4", "created_at": "2025-05-30T17:26:14.805389+00:00", "updated_at": null, "name": "CUSTOM_DT3", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/5410a72c-dd65-4942-97b4-4ec0f4989ff4", "rel": "self"}, {"href": "http://localhost/deploy_templates/5410a72c-dd65-4942-97b4-4ec0f4989ff4", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}]}
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_using_query_and_fields [0.120229s] ... 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-766d1b5e-e158-4a7f-af44-602719322590
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_deploy_template.TestListDeployTemplates.test_detail_using_query_false_and_fields [0.109941s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates?detail=False&fields=steps WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-bd85c8b0-6066-47f7-91f7-f1816db68a0a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"deploy_templates": [{"links": [{"href": "http://localhost/v1/deploy_templates/09a64800-f156-4f37-b238-7fcff9361438", "rel": "self"}, {"href": "http://localhost/deploy_templates/09a64800-f156-4f37-b238-7fcff9361438", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}]}
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_empty [0.102627s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-041e93c1-64bc-469b-bc8e-61c9b53d1edd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"deploy_templates": []}
{3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_equals [0.621869s] ... 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
{3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_greaterthan [0.059473s] ... ok
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_all_invalid_api_version [0.128698s] ... 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.test_base.TestVersion.test_init [0.068144s] ... ok
{3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_lessthan [0.063338s] ... ok
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_collection_custom_fields [0.119217s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates?fields=uuid,steps WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-c6750888-82df-4986-9d33-bb35a81fc47e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"deploy_templates": [{"uuid": "e633bb70-14ff-481b-8dca-e6bf6a85992d", "links": [{"href": "http://localhost/v1/deploy_templates/e633bb70-14ff-481b-8dca-e6bf6a85992d", "rel": "self"}, {"href": "http://localhost/deploy_templates/e633bb70-14ff-481b-8dca-e6bf6a85992d", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}, {"uuid": "eee80e6a-eec8-46d0-bafe-b92ac8d1f3a9", "links": [{"href": "http://localhost/v1/deploy_templates/eee80e6a-eec8-46d0-bafe-b92ac8d1f3a9", "rel": "self"}, {"href": "http://localhost/deploy_templates/eee80e6a-eec8-46d0-bafe-b92ac8d1f3a9", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}, {"uuid": "23346e35-fcd3-4fff-9ca6-18780df145ca", "links": [{"href": "http://localhost/v1/deploy_templates/23346e35-fcd3-4fff-9ca6-18780df145ca", "rel": "self"}, {"href": "http://localhost/deploy_templates/23346e35-fcd3-4fff-9ca6-18780df145ca", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}]}
{3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_not_equals [0.058365s] ... ok
{3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_bad_length [0.090733s] ... ok
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_collection_pagination_no_uuid [0.121764s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates?fields=name&limit=2 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-244a63fa-b6f4-4207-a677-701a82314a90
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"deploy_templates": [{"name": "CUSTOM_DT0", "links": [{"href": "http://localhost/v1/deploy_templates/76bcb4fa-4bb3-407b-b80c-78a6941f1c56", "rel": "self"}, {"href": "http://localhost/deploy_templates/76bcb4fa-4bb3-407b-b80c-78a6941f1c56", "rel": "bookmark"}]}, {"name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/e76b64dc-b86d-4752-9ec6-30cf2c66bf65", "rel": "self"}, {"href": "http://localhost/deploy_templates/e76b64dc-b86d-4752-9ec6-30cf2c66bf65", "rel": "bookmark"}]}], "next": "http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=name&limit=2&marker=e76b64dc-b86d-4752-9ec6-30cf2c66bf65"}
{3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_latest [0.051365s] ... ok
{3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_ok [0.066387s] ... ok
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_custom_fields_invalid_fields [0.109390s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates/c672fdd0-2d89-4a7e-a32a-d16d68e05b79?fields=uuid,spongebob WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-ee276a2d-d0ce-495c-8d12-a14f7aa06b5e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_new_standard_singular_header_ok [0.049150s] ... ok
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one [0.101870s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates/31088a2f-0a9f-4627-83c6-e471e7a531ac WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-d6c37c8e-d947-4220-b82c-e11ff3e92122
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "31088a2f-0a9f-4627-83c6-e471e7a531ac", "created_at": "2025-05-30T17:26:15.734132+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/31088a2f-0a9f-4627-83c6-e471e7a531ac", "rel": "self"}, {"href": "http://localhost/deploy_templates/31088a2f-0a9f-4627-83c6-e471e7a531ac", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_custom_fields [0.105961s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates/188944b9-2538-4e9b-a1a8-871298c73987?fields=name,steps WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-d411cf5c-9fa0-4eca-bc1f-c200ba5899a3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/188944b9-2538-4e9b-a1a8-871298c73987", "rel": "self"}, {"href": "http://localhost/deploy_templates/188944b9-2538-4e9b-a1a8-871298c73987", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_invalid_api_version [0.096160s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates/2fd23efa-78b4-40f4-b85d-fceebe77516b 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\"}"}
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_with_json [0.098326s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates/9945cde4-c150-447b-b298-3128aac9cd22.json WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-480befaf-da3c-4f7c-98f5-b15d5e3f02d9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.90
{"uuid": "9945cde4-c150-447b-b298-3128aac9cd22", "created_at": "2025-05-30T17:26:16.048219+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/9945cde4-c150-447b-b298-3128aac9cd22", "rel": "self"}, {"href": "http://localhost/deploy_templates/9945cde4-c150-447b-b298-3128aac9cd22", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_with_json_not_found [0.083928s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates/8415664b-e58b-4fb3-8cee-f5caf69274fd.json WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-c90627c6-5cb3-4e0f-96c4-de2a6f3dc58c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template 8415664b-e58b-4fb3-8cee-f5caf69274fd.json could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_with_suffix [0.080158s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates/1f97c63e-a14d-40c3-b8b5-e1755722bb81 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-43cd6ee9-e9f1-45ee-a03c-2e4354350823
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1f97c63e-a14d-40c3-b8b5-e1755722bb81", "created_at": "2025-05-30T17:26:16.208784+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/1f97c63e-a14d-40c3-b8b5-e1755722bb81", "rel": "self"}, {"href": "http://localhost/deploy_templates/1f97c63e-a14d-40c3-b8b5-e1755722bb81", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}
{3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_no_header [0.538442s] ... ok
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_links [0.065944s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates/c6ab06af-cece-4937-81e5-e6056592f00f WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-1cbe2273-a595-4810-8ea0-7c45ee0a5b04
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "c6ab06af-cece-4937-81e5-e6056592f00f", "created_at": "2025-05-30T17:26:16.276584+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/c6ab06af-cece-4937-81e5-e6056592f00f", "rel": "self"}, {"href": "http://localhost/deploy_templates/c6ab06af-cece-4937-81e5-e6056592f00f", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}
GET /v1/deploy_templates/c6ab06af-cece-4937-81e5-e6056592f00f WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-e257bcae-500e-4749-8dbe-21128798f984
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "c6ab06af-cece-4937-81e5-e6056592f00f", "created_at": "2025-05-30T17:26:16.276584+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/c6ab06af-cece-4937-81e5-e6056592f00f", "rel": "self"}, {"href": "http://localhost/deploy_templates/c6ab06af-cece-4937-81e5-e6056592f00f", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}
GET /deploy_templates/c6ab06af-cece-4937-81e5-e6056592f00f WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-25f410a4-b936-4b54-a84e-61339aaee65d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "c6ab06af-cece-4937-81e5-e6056592f00f", "created_at": "2025-05-30T17:26:16.276584+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/c6ab06af-cece-4937-81e5-e6056592f00f", "rel": "self"}, {"href": "http://localhost/deploy_templates/c6ab06af-cece-4937-81e5-e6056592f00f", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}
{3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_repr [0.091123s] ... ok
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_many [0.088701s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-aa691ef2-d5e5-4be2-9479-4b717ef95f48
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"deploy_templates": [{"uuid": "c27ac21e-04c7-417a-8bb4-dd96f4624a5f", "name": "CUSTOM_DT0", "links": [{"href": "http://localhost/v1/deploy_templates/c27ac21e-04c7-417a-8bb4-dd96f4624a5f", "rel": "self"}, {"href": "http://localhost/deploy_templates/c27ac21e-04c7-417a-8bb4-dd96f4624a5f", "rel": "bookmark"}]}, {"uuid": "047e4cb8-896c-49dd-a560-87c78f8fede3", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/047e4cb8-896c-49dd-a560-87c78f8fede3", "rel": "self"}, {"href": "http://localhost/deploy_templates/047e4cb8-896c-49dd-a560-87c78f8fede3", "rel": "bookmark"}]}, {"uuid": "d4733d32-27bb-46fa-891e-9489366ca3f3", "name": "CUSTOM_DT2", "links": [{"href": "http://localhost/v1/deploy_templates/d4733d32-27bb-46fa-891e-9489366ca3f3", "rel": "self"}, {"href": "http://localhost/deploy_templates/d4733d32-27bb-46fa-891e-9489366ca3f3", "rel": "bookmark"}]}, {"uuid": "267e45fe-08e1-462b-8703-b07dc2a5fa2b", "name": "CUSTOM_DT3", "links": [{"href": "http://localhost/v1/deploy_templates/267e45fe-08e1-462b-8703-b07dc2a5fa2b", "rel": "self"}, {"href": "http://localhost/deploy_templates/267e45fe-08e1-462b-8703-b07dc2a5fa2b", "rel": "bookmark"}]}, {"uuid": "fdde6805-7da0-42c6-94c9-4b686f7b69dc", "name": "CUSTOM_DT4", "links": [{"href": "http://localhost/v1/deploy_templates/fdde6805-7da0-42c6-94c9-4b686f7b69dc", "rel": "self"}, {"href": "http://localhost/deploy_templates/fdde6805-7da0-42c6-94c9-4b686f7b69dc", "rel": "bookmark"}]}]}
{3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_repr_with_strings [0.089393s] ... ok
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_one [0.043224s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-b866390e-ac7f-4f74-a3ca-7fa3b4924075
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"deploy_templates": [{"uuid": "97f97a07-80a2-440b-ab68-a83061e9b2b1", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/97f97a07-80a2-440b-ab68-a83061e9b2b1", "rel": "self"}, {"href": "http://localhost/deploy_templates/97f97a07-80a2-440b-ab68-a83061e9b2b1", "rel": "bookmark"}]}]}
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sensitive_data_masked [0.047044s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates/4ce3c2f2-f83c-4cba-b21a-f4fb617d5add WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-d27819b3-81fc-493f-ac96-0dc7120069e6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "4ce3c2f2-f83c-4cba-b21a-f4fb617d5add", "created_at": "2025-05-30T17:26:16.463854+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/4ce3c2f2-f83c-4cba-b21a-f4fb617d5add", "rel": "self"}, {"href": "http://localhost/deploy_templates/4ce3c2f2-f83c-4cba-b21a-f4fb617d5add", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": [], "password": "******"}, "priority": 10}]}
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key [0.072069s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates?sort_key=uuid WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-8cce368a-297c-4ffc-a16d-a93edd888b8f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"deploy_templates": [{"uuid": "2c113c91-8d9b-443d-88de-b616bc7f6822", "name": "CUSTOM_DT2", "links": [{"href": "http://localhost/v1/deploy_templates/2c113c91-8d9b-443d-88de-b616bc7f6822", "rel": "self"}, {"href": "http://localhost/deploy_templates/2c113c91-8d9b-443d-88de-b616bc7f6822", "rel": "bookmark"}]}, {"uuid": "9f0d5c53-0a7c-49fc-a42a-436b5c4dc4ba", "name": "CUSTOM_DT0", "links": [{"href": "http://localhost/v1/deploy_templates/9f0d5c53-0a7c-49fc-a42a-436b5c4dc4ba", "rel": "self"}, {"href": "http://localhost/deploy_templates/9f0d5c53-0a7c-49fc-a42a-436b5c4dc4ba", "rel": "bookmark"}]}, {"uuid": "d8234b4f-202f-42af-81bf-0a87c3c1d16a", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/d8234b4f-202f-42af-81bf-0a87c3c1d16a", "rel": "self"}, {"href": "http://localhost/deploy_templates/d8234b4f-202f-42af-81bf-0a87c3c1d16a", "rel": "bookmark"}]}]}
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key_allowed [0.112219s] ... 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-ddd7da1c-0117-4c1d-aa58-9d810966a553
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"deploy_templates": [{"uuid": "bd417fd0-4648-40a0-8753-adce10a728ed", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/bd417fd0-4648-40a0-8753-adce10a728ed", "rel": "self"}, {"href": "http://localhost/deploy_templates/bd417fd0-4648-40a0-8753-adce10a728ed", "rel": "bookmark"}]}, {"uuid": "9a1eaa09-51b3-4c38-9ee5-696b7bb5bfaa", "name": "CUSTOM_DT2", "links": [{"href": "http://localhost/v1/deploy_templates/9a1eaa09-51b3-4c38-9ee5-696b7bb5bfaa", "rel": "self"}, {"href": "http://localhost/deploy_templates/9a1eaa09-51b3-4c38-9ee5-696b7bb5bfaa", "rel": "bookmark"}]}, {"uuid": "39472a02-60f6-4bd2-ae85-5b9c13268ae7", "name": "CUSTOM_DT3", "links": [{"href": "http://localhost/v1/deploy_templates/39472a02-60f6-4bd2-ae85-5b9c13268ae7", "rel": "self"}, {"href": "http://localhost/deploy_templates/39472a02-60f6-4bd2-ae85-5b9c13268ae7", "rel": "bookmark"}]}]}
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key_invalid [0.106972s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates?sort_key=extra WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-4c26e3d1-0ce0-4017-a546-ffb328387348
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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-d48ba7a4-aa36-4f91-9ecf-3187bba655e8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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-122ba36d-0eb5-41ae-b398-69f78dc9e45c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value steps is an invalid field for sorting\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_add [0.468458s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/allocations/3379291e-8854-410f-8667-5e85a4358c75 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-3179dd88-eeaf-4fe5-a9d2-24f8001734d1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "3379291e-8854-410f-8667-5e85a4358c75", "created_at": "2025-05-30T17:26:16.763097+00:00", "updated_at": "2025-05-30T17:26:16.882647+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/3379291e-8854-410f-8667-5e85a4358c75", "rel": "self"}, {"href": "http://localhost/allocations/3379291e-8854-410f-8667-5e85a4358c75", "rel": "bookmark"}], "node_uuid": null}
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_multi [0.230890s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/deploy_templates/9c748c16-af21-4a50-942b-8d8a5c4274b7 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-d56dea35-0cd5-476b-82a2-e0650103f30c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "9c748c16-af21-4a50-942b-8d8a5c4274b7", "created_at": "2025-05-30T17:26:16.868422+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/9c748c16-af21-4a50-942b-8d8a5c4274b7", "rel": "self"}, {"href": "http://localhost/deploy_templates/9c748c16-af21-4a50-942b-8d8a5c4274b7", "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}]}
{3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_add_multi [0.131955s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/allocations/ec965eaf-fd12-4693-9836-d487361ed483 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-5a91d086-58b4-4524-875a-63b0b0b1cc8e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "ec965eaf-fd12-4693-9836-d487361ed483", "created_at": "2025-05-30T17:26:16.982320+00:00", "updated_at": "2025-05-30T17:26:17.015233+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/ec965eaf-fd12-4693-9836-d487361ed483", "rel": "self"}, {"href": "http://localhost/allocations/ec965eaf-fd12-4693-9836-d487361ed483", "rel": "bookmark"}], "node_uuid": null}
GET /v1/allocations/ec965eaf-fd12-4693-9836-d487361ed483 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-038c370b-1bec-4978-9e4e-d302ca0be747
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "ec965eaf-fd12-4693-9836-d487361ed483", "created_at": "2025-05-30T17:26:16.982320+00:00", "updated_at": "2025-05-30T17:26:17.015233+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/ec965eaf-fd12-4693-9836-d487361ed483", "rel": "self"}, {"href": "http://localhost/allocations/ec965eaf-fd12-4693-9836-d487361ed483", "rel": "bookmark"}], "node_uuid": null}
{1} ironic.tests.unit.api.controllers.test_base.TestBase.test_api_setup [0.601760s] ... 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
{3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_add_non_existent [0.128008s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/allocations/6c8d158e-2643-4a92-8e9e-3e79a4729c5a WITH [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-6a3d472d-303b-49b2-863f-e63fedf8613d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: name, extra\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.test_base.TestBase.test_bad_uri [0.155531s] ... 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\": \"\"}"}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_id [0.821164s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/allocations/f9851e41-79f0-4359-8084-6bf93d7d049a GOT Response: 204 No Content
Openstack-Request-Id: req-b7460da7-994e-4b36-a769-b2292cc8d052
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
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
{3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_multi [0.317588s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/allocations/1fcfa241-56af-4e09-8224-4b46ea3c06a9 WITH [{'path': '/extra/foo2', 'op': 'remove'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-00d5b970-4b4e-4089-a61e-8a49d5de761a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1fcfa241-56af-4e09-8224-4b46ea3c06a9", "created_at": "2025-05-30T17:26:17.311913+00:00", "updated_at": "2025-05-30T17:26:17.390774+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/1fcfa241-56af-4e09-8224-4b46ea3c06a9", "rel": "self"}, {"href": "http://localhost/allocations/1fcfa241-56af-4e09-8224-4b46ea3c06a9", "rel": "bookmark"}], "node_uuid": null}
GET /v1/allocations/1fcfa241-56af-4e09-8224-4b46ea3c06a9 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-55653451-5f65-406d-9257-fd1c3131619d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1fcfa241-56af-4e09-8224-4b46ea3c06a9", "created_at": "2025-05-30T17:26:17.311913+00:00", "updated_at": "2025-05-30T17:26:17.390774+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/1fcfa241-56af-4e09-8224-4b46ea3c06a9", "rel": "self"}, {"href": "http://localhost/allocations/1fcfa241-56af-4e09-8224-4b46ea3c06a9", "rel": "bookmark"}], "node_uuid": null}
PATCH /v1/allocations/1fcfa241-56af-4e09-8224-4b46ea3c06a9 WITH [{'path': '/extra', 'op': 'remove'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-1f857c23-1836-4bf2-a595-e12118d1290b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1fcfa241-56af-4e09-8224-4b46ea3c06a9", "created_at": "2025-05-30T17:26:17.311913+00:00", "updated_at": "2025-05-30T17:26:17.464753+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/1fcfa241-56af-4e09-8224-4b46ea3c06a9", "rel": "self"}, {"href": "http://localhost/allocations/1fcfa241-56af-4e09-8224-4b46ea3c06a9", "rel": "bookmark"}], "node_uuid": null}
GET /v1/allocations/1fcfa241-56af-4e09-8224-4b46ea3c06a9 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-c0c0f7b2-3ce2-452a-9390-4cda19845fa1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1fcfa241-56af-4e09-8224-4b46ea3c06a9", "created_at": "2025-05-30T17:26:17.311913+00:00", "updated_at": "2025-05-30T17:26:17.464753+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/1fcfa241-56af-4e09-8224-4b46ea3c06a9", "rel": "self"}, {"href": "http://localhost/allocations/1fcfa241-56af-4e09-8224-4b46ea3c06a9", "rel": "bookmark"}], "node_uuid": null}
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_root_non_existent [0.542402s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/deploy_templates/f4ea2e64-a162-4585-82cc-3d9fa2831f5f WITH [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-6295a71e-6f48-4314-84c7-69d5605f33a2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.v1.test_allocation.TestPatch.test_remove_non_existent_property_fail [0.116832s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/allocations/9cfcc3e6-bbfb-4b13-8e26-fdcacfa77649 WITH [{'path': '/extra/non-existent', 'op': 'remove'}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-5b124730-2d03-4561-baff-d564857297ef
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_chassis.TestDelete.test_delete_chassis [0.310711s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT Response: 204 No Content
Openstack-Request-Id: req-9e5adcd8-d452-472f-b9b7-041961ff4307
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-c46c7a39-344a-4428-a117-cad1ee8519d0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_deploy_template.TestPatch.test_add_too_high_index_step_fail [0.086188s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/deploy_templates/4e96ab0f-4251-4fd6-b071-7a576472f042 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-89dc3842-6d67-4c87-8ec4-542d3069d1f8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}"}
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_foo [0.058803s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/deploy_templates/8a703656-c6fe-42bf-b86a-a8654ad3e4e9 WITH [{'path': '/foo', 'op': 'remove'}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-aaf349ff-016b-4031-98d5-3b7053219cc1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: extra, name, steps, description\", \"debuginfo\": null}"}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name [0.291730s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/allocations/alloc1 GOT Response: 204 No Content
Openstack-Request-Id: req-d33aab93-fe70-49b4-b9de-823811b0df64
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_singular [0.190815s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/allocations/10eb5989-e2b5-4baa-8c94-9a6a898d6f68 WITH [{'path': '/extra/a', 'op': 'remove'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-cec5e2f7-f7ec-47bb-b97f-44efdb61c76d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "10eb5989-e2b5-4baa-8c94-9a6a898d6f68", "created_at": "2025-05-30T17:26:17.741374+00:00", "updated_at": "2025-05-30T17:26:17.789166+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/10eb5989-e2b5-4baa-8c94-9a6a898d6f68", "rel": "self"}, {"href": "http://localhost/allocations/10eb5989-e2b5-4baa-8c94-9a6a898d6f68", "rel": "bookmark"}], "node_uuid": null}
GET /v1/allocations/10eb5989-e2b5-4baa-8c94-9a6a898d6f68 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-2f4d30cd-94a4-4d34-8b28-4a4417c57ca8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "10eb5989-e2b5-4baa-8c94-9a6a898d6f68", "created_at": "2025-05-30T17:26:17.741374+00:00", "updated_at": "2025-05-30T17:26:17.789166+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/10eb5989-e2b5-4baa-8c94-9a6a898d6f68", "rel": "self"}, {"href": "http://localhost/allocations/10eb5989-e2b5-4baa-8c94-9a6a898d6f68", "rel": "bookmark"}], "node_uuid": null}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name_not_existed [0.118856s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/allocations/blah GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-ec6aed0a-eae7-4f48-8d9a-0be434cced9b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation blah could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_multi [0.180279s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/deploy_templates/5c88fdea-3b16-47b3-a917-44aa5290b30a WITH [{'path': '/steps/1', 'op': 'remove'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-1cd50d5e-5891-44c0-aa67-8911b44c32fa
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "5c88fdea-3b16-47b3-a917-44aa5290b30a", "created_at": "2025-05-30T17:26:17.797177+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/5c88fdea-3b16-47b3-a917-44aa5290b30a", "rel": "self"}, {"href": "http://localhost/deploy_templates/5c88fdea-3b16-47b3-a917-44aa5290b30a", "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.v1.test_allocation.TestPatch.test_remove_uuid [0.093472s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/allocations/a77e103e-224d-4143-8936-0ab382957a8f WITH [{'path': '/uuid', 'op': 'remove'}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-65a73bca-9000-4032-a34f-ba6eb1af9f12
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /uuid. Only the following can be updated: name, extra\", \"debuginfo\": null}"}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name_with_json [0.127136s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/allocations/alloc1.json GOT Response: 204 No Content
Openstack-Request-Id: req-19cf2f96-73af-4dbd-ad20-e5fa9ac791ab
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.90
{3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_invalid_name [0.072989s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/allocations/55944348-2b5e-43f3-aa78-1e126b6f6484 WITH [{'path': '/name', 'value': '[test]', 'op': 'replace'}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-d7d7e028-df6c-4fe6-9bfb-858a929ccc57
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update allocation with invalid name '[test]'\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_name [0.166151s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/deploy_templates/dfd4dc44-dc44-4576-9cae-5ffe65f09c2b WITH [{'path': '/name', 'op': 'remove'}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-0025f030-1bcd-4852-bfb8-bc17d7136203
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'name' is a required property\", \"debuginfo\": null}"}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name_with_json_not_found [0.123659s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/allocations/alloc1.json GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-627764c2-69a0-4be4-b19e-8cfc12e89097
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation alloc1.json could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_multi [0.129727s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/allocations/e9ae2c9a-7b31-4e9a-ab2c-8ddfffb8d61f WITH [{'path': '/extra/foo2', 'value': 'new value', 'op': 'replace'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-38ed028d-7d3e-46bd-97ce-b5ac6f2cee32
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "e9ae2c9a-7b31-4e9a-ab2c-8ddfffb8d61f", "created_at": "2025-05-30T17:26:18.071765+00:00", "updated_at": "2025-05-30T17:26:18.113641+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/e9ae2c9a-7b31-4e9a-ab2c-8ddfffb8d61f", "rel": "self"}, {"href": "http://localhost/allocations/e9ae2c9a-7b31-4e9a-ab2c-8ddfffb8d61f", "rel": "bookmark"}], "node_uuid": null}
GET /v1/allocations/e9ae2c9a-7b31-4e9a-ab2c-8ddfffb8d61f WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-cec4e775-f61f-4d77-bd90-163689b04db0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "e9ae2c9a-7b31-4e9a-ab2c-8ddfffb8d61f", "created_at": "2025-05-30T17:26:18.071765+00:00", "updated_at": "2025-05-30T17:26:18.113641+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/e9ae2c9a-7b31-4e9a-ab2c-8ddfffb8d61f", "rel": "self"}, {"href": "http://localhost/allocations/e9ae2c9a-7b31-4e9a-ab2c-8ddfffb8d61f", "rel": "bookmark"}], "node_uuid": null}
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_property_fail [0.155082s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/deploy_templates/968a25e0-306b-429e-94cb-cb5919663e2d WITH [{'path': '/non-existent', 'op': 'remove'}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-d38273fd-b917-4393-bbb5-46e79a727b4b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_allocation.TestPatch.test_replace_name_with_none [0.110148s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/allocations/dc0a6ef4-1b62-4671-b14c-ab2cd2ad6c57 WITH [{'path': '/name', 'value': None, 'op': 'replace'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-12b62fde-c65f-465e-a41b-ed9ecf0e4b4e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "dc0a6ef4-1b62-4671-b14c-ab2cd2ad6c57", "created_at": "2025-05-30T17:26:18.200502+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/dc0a6ef4-1b62-4671-b14c-ab2cd2ad6c57", "rel": "self"}, {"href": "http://localhost/allocations/dc0a6ef4-1b62-4671-b14c-ab2cd2ad6c57", "rel": "bookmark"}], "node_uuid": null}
GET /v1/allocations/dc0a6ef4-1b62-4671-b14c-ab2cd2ad6c57 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-9053504e-7258-4f8b-8e1e-eea200ad0b10
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "dc0a6ef4-1b62-4671-b14c-ab2cd2ad6c57", "created_at": "2025-05-30T17:26:18.200502+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/dc0a6ef4-1b62-4671-b14c-ab2cd2ad6c57", "rel": "self"}, {"href": "http://localhost/allocations/dc0a6ef4-1b62-4671-b14c-ab2cd2ad6c57", "rel": "bookmark"}], "node_uuid": null}
{1} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis_not_found [0.651414s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/chassis/e1fbefb2-2337-4666-b4af-b17108adbbe5 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-ef33bc33-9930-421f-a58e-454a1e30cb09
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis e1fbefb2-2337-4666-b4af-b17108adbbe5 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node [0.165627s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation GOT Response: 204 No Content
Openstack-Request-Id: req-3a56a878-0fb2-4889-a45e-de320b028f22
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_step_fail [0.110731s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/deploy_templates/55511dca-9a06-43d2-ad91-c2cc07a4dabb WITH [{'path': '/steps/1', 'op': 'remove'}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-17dcf4b1-3eb0-47c2-b121-7c80323677c1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/steps/1', 'op': 'remove'}'. Reason: can't remove non-existent object '1'\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_singular [0.129636s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/allocations/be331133-14c7-4800-800a-357ddfeab303 WITH [{'path': '/name', 'value': 'test', 'op': 'replace'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-1d434b99-2e74-4e8f-a829-dd1736feb372
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "be331133-14c7-4800-800a-357ddfeab303", "created_at": "2025-05-30T17:26:18.321056+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/be331133-14c7-4800-800a-357ddfeab303", "rel": "self"}, {"href": "http://localhost/allocations/be331133-14c7-4800-800a-357ddfeab303", "rel": "bookmark"}], "node_uuid": null}
GET /v1/allocations/be331133-14c7-4800-800a-357ddfeab303 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-a6ef1217-f4d3-443d-bc91-3298c0e2911b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "be331133-14c7-4800-800a-357ddfeab303", "created_at": "2025-05-30T17:26:18.321056+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/be331133-14c7-4800-800a-357ddfeab303", "rel": "self"}, {"href": "http://localhost/allocations/be331133-14c7-4800-800a-357ddfeab303", "rel": "bookmark"}], "node_uuid": null}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node_invalid_api_version [0.107240s] ... 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\": \"\"}"}
{1} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis_with_node [0.129077s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-65c6a12b-bd2a-4084-ba3c-e5bbfc04998b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_error [0.073306s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/allocations/232002d9-ce6f-432d-8185-d7bd3a0d3626 WITH [{'path': '/name', 'value': 'new', 'op': 'replace'}] GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-8565c9a1-f797-4093-860c-d9386e21a1d8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_step_property_fail [0.119790s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/deploy_templates/1fdb6db3-ba35-4c32-8422-479a3f0d7e04 WITH [{'path': '/steps/0/non-existent', 'op': 'remove'}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-d830955d-804e-4022-8802-b3598e3f32a8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}"}
{3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_not_allowed [0.036512s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/allocations/4dccdd3d-3cae-4246-87a2-44f30a24f169 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 405 Method Not Allowed
Content-Type: application/json
Openstack-Request-Id: req-403cb201-8992-4b42-bb47-fc4a218b2af7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_chassis.TestDelete.test_delete_nodes_subresource [0.074844s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-32b75f75-34e7-4d73-bca4-aec525c31a30
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_allocation.TestPatch.test_update_not_found [0.035846s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/allocations/067630a0-0538-4821-adf9-e55c9f3ceaa4 WITH [{'path': '/name', 'value': 'b', 'op': 'replace'}] GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-0674b9c5-77f0-48ec-a644-97a56b6b9b0a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 067630a0-0538-4821-adf9-e55c9f3ceaa4 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node_not_existed [0.144231s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/03536a70-0529-444a-8b23-4b7108ad0321/allocation GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-1b40e721-33f5-4c2c-899c-d7b35ead4ce7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation for node 03536a70-0529-444a-8b23-4b7108ad0321 was not found\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_owner_not_acceptable [0.050298s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/allocations/584e8a99-6acb-4818-81f8-5c3dd52108fd WITH [{'path': '/owner', 'value': '54321', 'op': 'replace'}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-6658fad9-a93c-48d0-b3a9-651a2672c21c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /owner. Only the following can be updated: name, extra\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_only_step_fail [0.147841s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/deploy_templates/f833923e-ae53-4aec-b236-f90f9476034e WITH [{'path': '/steps/0', 'op': 'remove'}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-e081b3cb-517b-44f8-9c58-5257a6a7c8e3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: [] is too short\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis [0.111537s] ... 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-e4d75238-f632-4b2c-88c7-6b4e737d5eef
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-497129b4-c4f7-417f-ad7b-d8923ae689b9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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"}]]}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_invalid_api_version [0.092141s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/allocations/57310905-8d2c-410c-89e6-38b0319090b3 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\"}"}
{3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links [0.061822s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis/?limit=3 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-87fb0582-c624-4bf0-bc10-400ae338b8e5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"chassis": [{"uuid": "099cf9e0-9088-450a-a08e-e52b72221d79", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/099cf9e0-9088-450a-a08e-e52b72221d79", "rel": "self"}, {"href": "http://localhost/chassis/099cf9e0-9088-450a-a08e-e52b72221d79", "rel": "bookmark"}]}, {"uuid": "60d1a91c-2b35-4f91-a05d-9ce98313f554", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/60d1a91c-2b35-4f91-a05d-9ce98313f554", "rel": "self"}, {"href": "http://localhost/chassis/60d1a91c-2b35-4f91-a05d-9ce98313f554", "rel": "bookmark"}]}, {"uuid": "8d94fa82-16d3-4d6e-818d-a0282bf20464", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/8d94fa82-16d3-4d6e-818d-a0282bf20464", "rel": "self"}, {"href": "http://localhost/chassis/8d94fa82-16d3-4d6e-818d-a0282bf20464", "rel": "bookmark"}]}], "next": "http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=uuid,description&limit=3&marker=8d94fa82-16d3-4d6e-818d-a0282bf20464"}
{3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links_custom_fields [0.042074s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis?fields=extra,uuid WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-4502fec0-2433-4403-86d5-f2965c512262
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"chassis": [{"uuid": "f7ceec03-214f-46bc-bfce-ee84adc05582", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/f7ceec03-214f-46bc-bfce-ee84adc05582", "rel": "self"}, {"href": "http://localhost/chassis/f7ceec03-214f-46bc-bfce-ee84adc05582", "rel": "bookmark"}]}, {"uuid": "06feace8-e23f-4313-b1d8-3e7bf3470e4f", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/06feace8-e23f-4313-b1d8-3e7bf3470e4f", "rel": "self"}, {"href": "http://localhost/chassis/06feace8-e23f-4313-b1d8-3e7bf3470e4f", "rel": "bookmark"}]}, {"uuid": "5b199a88-6ebe-4f6a-a663-dc8ad8337a21", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/5b199a88-6ebe-4f6a-a663-dc8ad8337a21", "rel": "self"}, {"href": "http://localhost/chassis/5b199a88-6ebe-4f6a-a663-dc8ad8337a21", "rel": "bookmark"}]}], "next": "http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=extra,uuid&limit=3&marker=5b199a88-6ebe-4f6a-a663-dc8ad8337a21"}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_invalid_api_version_without_check [0.094613s] ... 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\"}"}
{3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links_default_limit [0.035130s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-716f8b6b-46ab-48b2-bdaf-b52886334fd4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"chassis": [{"uuid": "e1d29bbb-bf25-4a00-8339-0d06c5edc67e", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/e1d29bbb-bf25-4a00-8339-0d06c5edc67e", "rel": "self"}, {"href": "http://localhost/chassis/e1d29bbb-bf25-4a00-8339-0d06c5edc67e", "rel": "bookmark"}]}, {"uuid": "b1de9655-2925-479d-b0f7-f8024c851248", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/b1de9655-2925-479d-b0f7-f8024c851248", "rel": "self"}, {"href": "http://localhost/chassis/b1de9655-2925-479d-b0f7-f8024c851248", "rel": "bookmark"}]}, {"uuid": "8008fe65-dc2d-4931-9047-45959c387282", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/8008fe65-dc2d-4931-9047-45959c387282", "rel": "self"}, {"href": "http://localhost/chassis/8008fe65-dc2d-4931-9047-45959c387282", "rel": "bookmark"}]}], "next": "http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=uuid,description&limit=3&marker=8008fe65-dc2d-4931-9047-45959c387282"}
{1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_doesnt_contain_id [0.111141s] ... 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-eb4e33f1-0936-43ed-8618-d0e5b6eb5d4d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:18.713322+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-a866efc1-0248-4721-af07-52fb1f346059
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:18.713322+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"}]]}
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_steps [0.137754s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/deploy_templates/5214f721-5b1d-4338-b35f-b9945c0dc591 WITH [{'path': '/steps', 'op': 'remove'}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-578e52fb-a8f7-41a3-8640-e8a9e4b94b63
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'steps' is a required property\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail [0.074044s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis/detail WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-974aed1a-06cb-418d-919c-ae1583ae5c64
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:18.805141+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_allocation.TestDelete.test_delete_allocation_invalid_node [0.112885s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/8f6bbdc4-c052-4fe1-9168-384720e6d485/allocation GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-1c565252-6d38-4128-af3d-9e056b63e1e2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 8f6bbdc4-c052-4fe1-9168-384720e6d485 could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_uuid [0.097135s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/deploy_templates/38e0a546-6aaf-4f19-b068-a49614476d11 WITH [{'path': '/uuid', 'op': 'remove'}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-54c015e1-11a2-43b8-806c-cb3a6eb1dde3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.v1.test_chassis.TestPost.test_create_chassis_error [0.105046s] ... 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-05f4866f-1d06-405b-a2b2-8958dbd34ba4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_against_single [0.033235s] ... 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-45128d96-0b1c-4740-bc36-153818646dfb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.controllers.v1.test_chassis.TestListChassis.test_detail_query [0.039483s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis?detail=True WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-a1fbf53f-0512-4427-a958-c31a5863a721
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-30T17:26:18.884324+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.controllers.v1.test_chassis.TestListChassis.test_detail_query_false [0.048407s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-34c029bc-321b-4793-9216-c92cf66206b6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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-3e3dd265-e4ec-4ed0-a4b8-d3acbcae0735
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_and_fields [0.031512s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis?detail=True&fields=description WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-8842e661-202c-4949-8714-e0e9e5a92693
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_chassis.TestPost.test_create_chassis_generate_uuid [0.132181s] ... 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/32a2d6fc-36f7-420e-81d2-b6dc1bd403aa
Openstack-Request-Id: req-87751b31-4b59-48e5-b8bc-71c0331bdc19
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "32a2d6fc-36f7-420e-81d2-b6dc1bd403aa", "created_at": "2025-05-30T17:26:18.962739+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/32a2d6fc-36f7-420e-81d2-b6dc1bd403aa", "rel": "self"}, {"href": "http://localhost/chassis/32a2d6fc-36f7-420e-81d2-b6dc1bd403aa", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/32a2d6fc-36f7-420e-81d2-b6dc1bd403aa/nodes", "rel": "self"}, {"href": "http://localhost/chassis/32a2d6fc-36f7-420e-81d2-b6dc1bd403aa/nodes", "rel": "bookmark"}]]}
GET /v1/chassis WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-0746f5e7-3ced-4b0d-88cb-87c825fa3673
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"chassis": [{"uuid": "32a2d6fc-36f7-420e-81d2-b6dc1bd403aa", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/32a2d6fc-36f7-420e-81d2-b6dc1bd403aa", "rel": "self"}, {"href": "http://localhost/chassis/32a2d6fc-36f7-420e-81d2-b6dc1bd403aa", "rel": "bookmark"}]}]}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_node_locked [0.152704s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/allocations/93658211-2ed4-43ae-b237-49baf3d6afce GOT Response: 409 Conflict
Content-Type: application/json
Openstack-Request-Id: req-df80723b-e7aa-4d17-8796-a7ce2b61e2e5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_false_and_fields [0.038880s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis?detail=False&fields=description WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-a581dd63-382c-4a27-8e7b-ce5416217ff3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_deploy_template.TestPatch.test_replace_duplicate_step [0.178523s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/deploy_templates/0c9c1a5d-ec51-4c18-9136-e0c73dde7416 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-c189c22d-5f1c-4c69-a4eb-0dc49b897d62
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}"}
{3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_old_version [0.049791s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis?detail=True WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-0c4ac829-a1a0-4418-a41f-3ff578af548c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.TestPost.test_create_chassis_invalid_description [0.112268s] ... 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-7225e93b-31b3-407c-81d4-200199b289c8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.TestListAllocations.test_allocation_get_all_forbid_owner_proj_mismatch [0.108969s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations?owner=54321 WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-2e7c2252-734a-438b-af64-3088c197c421
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.TestListChassis.test_empty [0.060053s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-4e78d786-5121-446c-baa4-72083d309027
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"chassis": []}
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_empty_step_list_fail [0.156406s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/deploy_templates/0e687ed2-1227-4b81-85ba-39b0bd6a277c WITH [{'path': '/steps', 'op': 'replace', 'value': []}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-7ddd19f0-8fe3-4c9d-8554-85be68b16b51
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: [] is too short\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_collection_custom_fields [0.042690s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis?fields=uuid,extra WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-3446d3ec-fc33-4f61-a713-853c52b0370a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"chassis": [{"uuid": "ad6f0b47-318c-4993-888b-7adb1cbef8c1", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/ad6f0b47-318c-4993-888b-7adb1cbef8c1", "rel": "self"}, {"href": "http://localhost/chassis/ad6f0b47-318c-4993-888b-7adb1cbef8c1", "rel": "bookmark"}]}, {"uuid": "d780046d-244d-484e-9619-7496bfe60229", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/d780046d-244d-484e-9619-7496bfe60229", "rel": "self"}, {"href": "http://localhost/chassis/d780046d-244d-484e-9619-7496bfe60229", "rel": "bookmark"}]}, {"uuid": "5669b3e8-a766-4c9d-bffa-567f7a017208", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/5669b3e8-a766-4c9d-bffa-567f7a017208", "rel": "self"}, {"href": "http://localhost/chassis/5669b3e8-a766-4c9d-bffa-567f7a017208", "rel": "bookmark"}]}]}
{1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_toolong_description [0.111014s] ... 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-00e48909-729d-4660-9970-c747c96674e9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_forbidden [0.107650s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-9ad20609-a166-43ad-b9dd-4b663559dc34
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.TestListChassis.test_get_collection_pagination_no_uuid [0.045356s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis?fields=extra&limit=2 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-d4040233-f156-46ae-a37f-2d82162f2bac
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"chassis": [{"extra": {}, "links": [{"href": "http://localhost/v1/chassis/82fc7c98-ba82-433e-80a4-9b4876a869d0", "rel": "self"}, {"href": "http://localhost/chassis/82fc7c98-ba82-433e-80a4-9b4876a869d0", "rel": "bookmark"}]}, {"extra": {}, "links": [{"href": "http://localhost/v1/chassis/c0384633-560c-4f90-b5e3-ab5fabb7ca56", "rel": "self"}, {"href": "http://localhost/chassis/c0384633-560c-4f90-b5e3-ab5fabb7ca56", "rel": "bookmark"}]}], "next": "http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=extra&limit=2&marker=c0384633-560c-4f90-b5e3-ab5fabb7ca56"}
{3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_custom_fields_invalid_api_version [0.034832s] ... 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-bb76db68-ee3d-460c-866a-0ec79f94ea1c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_chassis.TestListChassis.test_get_custom_fields_invalid_fields [0.039332s] ... 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-a575985d-3cbd-487d-b7a0-81cf18de123a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_unicode_description [0.117048s] ... 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-e1846058-ad91-43d4-9c50-cd09f1822c43
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:19.303562+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-5f907aca-ec4b-477d-b84c-4d442c717041
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:19.303562+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.TestListAllocations.test_allocation_get_all_forbidden_no_project [0.110372s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-6791dfd6-2374-4161-a724-d9bdc9149c89
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_none [0.164935s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/deploy_templates/83a24495-1915-4a22-a169-7d05d16c42eb WITH [{'path': '/name', 'op': 'replace', 'value': None}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-21f3bc75-3d23-41ea-b818-c864e4980993
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.TestListChassis.test_get_one [0.043885s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-b00b844f-92a0-4a50-b8d3-8d85412dbfe2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:19.357632+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.controllers.v1.test_chassis.TestListChassis.test_get_one_custom_fields [0.036085s] ... 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-492ce012-fe3b-431c-9944-3f225f67349a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_allocation.TestListAllocations.test_allocation_get_all_invalid_api_version [0.104377s] ... 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\"}"}
{3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_links [0.035825s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis/cf0186b9-143e-426f-aa5e-955463905345 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-ab177329-54a1-4dcd-a5df-7564b6a388cf
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "cf0186b9-143e-426f-aa5e-955463905345", "created_at": "2025-05-30T17:26:19.427553+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/cf0186b9-143e-426f-aa5e-955463905345", "rel": "self"}, {"href": "http://localhost/chassis/cf0186b9-143e-426f-aa5e-955463905345", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/cf0186b9-143e-426f-aa5e-955463905345/nodes", "rel": "self"}, {"href": "http://localhost/chassis/cf0186b9-143e-426f-aa5e-955463905345/nodes", "rel": "bookmark"}]]}
GET /v1/chassis/cf0186b9-143e-426f-aa5e-955463905345 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-16e37563-825c-4e1b-9caa-df56b4df2079
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "cf0186b9-143e-426f-aa5e-955463905345", "created_at": "2025-05-30T17:26:19.427553+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/cf0186b9-143e-426f-aa5e-955463905345", "rel": "self"}, {"href": "http://localhost/chassis/cf0186b9-143e-426f-aa5e-955463905345", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/cf0186b9-143e-426f-aa5e-955463905345/nodes", "rel": "self"}, {"href": "http://localhost/chassis/cf0186b9-143e-426f-aa5e-955463905345/nodes", "rel": "bookmark"}]]}
GET /chassis/cf0186b9-143e-426f-aa5e-955463905345 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-64e342cd-8a91-4dcb-9242-3dc7db01aee7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "cf0186b9-143e-426f-aa5e-955463905345", "created_at": "2025-05-30T17:26:19.427553+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/cf0186b9-143e-426f-aa5e-955463905345", "rel": "self"}, {"href": "http://localhost/chassis/cf0186b9-143e-426f-aa5e-955463905345", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/cf0186b9-143e-426f-aa5e-955463905345/nodes", "rel": "self"}, {"href": "http://localhost/chassis/cf0186b9-143e-426f-aa5e-955463905345/nodes", "rel": "bookmark"}]]}
{1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_valid_extra [0.107647s] ... 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-c0e73490-4214-4cbb-a89e-26f8ef59ac59
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:19.424616+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-66cea70a-bbe4-4d9d-bded-e1b7f6b9a27c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:19.424616+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"}]]}
{3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_links_public_url [0.047334s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis/e5ffe5f8-b954-4fe4-a0dd-3df3d375b2d3 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-3489efa0-f9f2-492e-b5c9-53e733e41a6e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "e5ffe5f8-b954-4fe4-a0dd-3df3d375b2d3", "created_at": "2025-05-30T17:26:19.469528+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://foo/v1/chassis/e5ffe5f8-b954-4fe4-a0dd-3df3d375b2d3", "rel": "self"}, {"href": "http://foo/chassis/e5ffe5f8-b954-4fe4-a0dd-3df3d375b2d3", "rel": "bookmark"}], "nodes": [[{"href": "http://foo/v1/chassis/e5ffe5f8-b954-4fe4-a0dd-3df3d375b2d3/nodes", "rel": "self"}, {"href": "http://foo/chassis/e5ffe5f8-b954-4fe4-a0dd-3df3d375b2d3/nodes", "rel": "bookmark"}]]}
GET /v1/chassis/e5ffe5f8-b954-4fe4-a0dd-3df3d375b2d3 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-564f1206-9041-49d7-a9b5-3fbb21d68b38
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "e5ffe5f8-b954-4fe4-a0dd-3df3d375b2d3", "created_at": "2025-05-30T17:26:19.469528+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://foo/v1/chassis/e5ffe5f8-b954-4fe4-a0dd-3df3d375b2d3", "rel": "self"}, {"href": "http://foo/chassis/e5ffe5f8-b954-4fe4-a0dd-3df3d375b2d3", "rel": "bookmark"}], "nodes": [[{"href": "http://foo/v1/chassis/e5ffe5f8-b954-4fe4-a0dd-3df3d375b2d3/nodes", "rel": "self"}, {"href": "http://foo/chassis/e5ffe5f8-b954-4fe4-a0dd-3df3d375b2d3/nodes", "rel": "bookmark"}]]}
GET /chassis/e5ffe5f8-b954-4fe4-a0dd-3df3d375b2d3 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-296c4122-b4f9-4eb5-bdef-c65525b7f6ea
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "e5ffe5f8-b954-4fe4-a0dd-3df3d375b2d3", "created_at": "2025-05-30T17:26:19.469528+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://foo/v1/chassis/e5ffe5f8-b954-4fe4-a0dd-3df3d375b2d3", "rel": "self"}, {"href": "http://foo/chassis/e5ffe5f8-b954-4fe4-a0dd-3df3d375b2d3", "rel": "bookmark"}], "nodes": [[{"href": "http://foo/v1/chassis/e5ffe5f8-b954-4fe4-a0dd-3df3d375b2d3/nodes", "rel": "self"}, {"href": "http://foo/chassis/e5ffe5f8-b954-4fe4-a0dd-3df3d375b2d3/nodes", "rel": "bookmark"}]]}
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_not_a_trait [0.163041s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/deploy_templates/e05b57bc-19f2-4907-99dc-46385eebff2a WITH [{'path': '/name', 'op': 'replace', 'value': 'not-a-trait'}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-38abce50-8840-4f68-958a-f6e645347eb3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.TestListChassis.test_many [0.037548s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-883c6ccb-b565-49d8-94ed-066fd17ffe32
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"chassis": [{"uuid": "49f8a886-e9f7-40c8-b271-03847515c436", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/49f8a886-e9f7-40c8-b271-03847515c436", "rel": "self"}, {"href": "http://localhost/chassis/49f8a886-e9f7-40c8-b271-03847515c436", "rel": "bookmark"}]}, {"uuid": "3196d1a1-5c4d-4cd3-acbf-378857ca4506", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/3196d1a1-5c4d-4cd3-acbf-378857ca4506", "rel": "self"}, {"href": "http://localhost/chassis/3196d1a1-5c4d-4cd3-acbf-378857ca4506", "rel": "bookmark"}]}, {"uuid": "66adac7d-2d4e-49ee-bf9e-f1781bcaab93", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/66adac7d-2d4e-49ee-bf9e-f1781bcaab93", "rel": "self"}, {"href": "http://localhost/chassis/66adac7d-2d4e-49ee-bf9e-f1781bcaab93", "rel": "bookmark"}]}, {"uuid": "f8a8f969-5c2d-4f89-a12b-3a0d5deab9c1", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/f8a8f969-5c2d-4f89-a12b-3a0d5deab9c1", "rel": "self"}, {"href": "http://localhost/chassis/f8a8f969-5c2d-4f89-a12b-3a0d5deab9c1", "rel": "bookmark"}]}, {"uuid": "8f985420-3655-4f41-a177-ee63fd93cd83", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/8f985420-3655-4f41-a177-ee63fd93cd83", "rel": "self"}, {"href": "http://localhost/chassis/8f985420-3655-4f41-a177-ee63fd93cd83", "rel": "bookmark"}]}]}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_non_admin [0.133423s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-6b9200f2-721d-4e1b-8fad-7da17a4cb928
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.60
{"allocations": [{"uuid": "84f83172-88e9-4cfa-8d8b-574c36aff091", "created_at": "2025-05-30T17:26:19.517800+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/84f83172-88e9-4cfa-8d8b-574c36aff091", "rel": "self"}, {"href": "http://localhost/allocations/84f83172-88e9-4cfa-8d8b-574c36aff091", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "916088cd-191f-4a8f-bc70-24a70960a3ea", "created_at": "2025-05-30T17:26:19.518712+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/916088cd-191f-4a8f-bc70-24a70960a3ea", "rel": "self"}, {"href": "http://localhost/allocations/916088cd-191f-4a8f-bc70-24a70960a3ea", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "b2a8dd7d-6b6f-4a43-a553-7a851f94978b", "created_at": "2025-05-30T17:26:19.533960+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/b2a8dd7d-6b6f-4a43-a553-7a851f94978b", "rel": "self"}, {"href": "http://localhost/allocations/b2a8dd7d-6b6f-4a43-a553-7a851f94978b", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "45dc1176-b204-4a2c-974d-1dcd7e348660", "created_at": "2025-05-30T17:26:19.535065+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/45dc1176-b204-4a2c-974d-1dcd7e348660", "rel": "self"}, {"href": "http://localhost/allocations/45dc1176-b204-4a2c-974d-1dcd7e348660", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "c094957a-d2f0-4136-a623-ece0176e2468", "created_at": "2025-05-30T17:26:19.535918+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/c094957a-d2f0-4136-a623-ece0176e2468", "rel": "self"}, {"href": "http://localhost/allocations/c094957a-d2f0-4136-a623-ece0176e2468", "rel": "bookmark"}], "node_uuid": null}]}
{3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource [0.074992s] ... 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-bc594e45-b753-45b1-9914-85a0f3d08c09
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"nodes": [{"uuid": "09e91535-8c23-4b8a-9e97-c617cf2518a4", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/09e91535-8c23-4b8a-9e97-c617cf2518a4", "rel": "self"}, {"href": "http://localhost/nodes/09e91535-8c23-4b8a-9e97-c617cf2518a4", "rel": "bookmark"}]}, {"uuid": "12dc2728-a687-40bd-9173-9807df51da8e", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/12dc2728-a687-40bd-9173-9807df51da8e", "rel": "self"}, {"href": "http://localhost/nodes/12dc2728-a687-40bd-9173-9807df51da8e", "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-25f5046d-866b-40d8-83ff-613165ab3e74
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"nodes": [{"uuid": "09e91535-8c23-4b8a-9e97-c617cf2518a4", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/09e91535-8c23-4b8a-9e97-c617cf2518a4", "rel": "self"}, {"href": "http://localhost/nodes/09e91535-8c23-4b8a-9e97-c617cf2518a4", "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=09e91535-8c23-4b8a-9e97-c617cf2518a4"}
{1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_post_nodes_subresource [0.180678s] ... 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-7a9ddc6c-e335-41fa-8d92-58bf00a6e78b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_replace_invalid_name_too_long [0.149182s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/deploy_templates/bab06fb8-78b1-4af9-b15c-7861f9fdf043 WITH [{'path': '/name', 'op': 'replace', 'value': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-c1826cb1-09c8-41ca-93ef-69bcdf940f97
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' is too long\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_chassis_not_found [0.070846s] ... 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-229ddf41-85da-4911-a11a-65d76526214d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_owner_hidden_in_lower_version [0.135073s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations/61c0f6cc-16ee-4d16-ae6f-a4b804db9fb8 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-ddee0442-14f9-499a-8fcf-0e79e4ebca05
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.59
{"uuid": "61c0f6cc-16ee-4d16-ae6f-a4b804db9fb8", "created_at": "2025-05-30T17:26:19.655301+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/61c0f6cc-16ee-4d16-ae6f-a4b804db9fb8", "rel": "self"}, {"href": "http://localhost/allocations/61c0f6cc-16ee-4d16-ae6f-a4b804db9fb8", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
GET /v1/allocations/61c0f6cc-16ee-4d16-ae6f-a4b804db9fb8 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-3731ebc4-209d-48b6-9760-a3438aadf300
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "61c0f6cc-16ee-4d16-ae6f-a4b804db9fb8", "created_at": "2025-05-30T17:26:19.655301+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/61c0f6cc-16ee-4d16-ae6f-a4b804db9fb8", "rel": "self"}, {"href": "http://localhost/allocations/61c0f6cc-16ee-4d16-ae6f-a4b804db9fb8", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
{1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_properties_hidden_in_lower_version [0.120752s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers/fake-hardware-type WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-30b646ac-e875-4d9e-93d1-f56c07708b92
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.8
{"name": "fake-hardware-type", "hosts": ["fake-host2", "fake-host1"], "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_chassis.TestListChassis.test_nodes_subresource_link [0.081070s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-fef645bd-6c9d-4c45-8d12-0e43a6f7714d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:19.757195+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_deploy_template.TestPatch.test_replace_invalid_step_interface_fail [0.129148s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/deploy_templates/4caf48ae-24d3-4ff9-aedf-f750e5ccca9c 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-22d8bb36-9e1b-4387-9ac6-241316882c50
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'foo' is not one of ['vendor', 'power', 'management', 'firmware', 'deploy', 'bios', 'raid']\", \"debuginfo\": null}"}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_owner_null_field [0.120616s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations/abe9abf5-db38-4d69-9600-4a8c5178edf9 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-436fc09d-a129-4002-9281-7740a50a5010
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "abe9abf5-db38-4d69-9600-4a8c5178edf9", "created_at": "2025-05-30T17:26:19.798512+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/abe9abf5-db38-4d69-9600-4a8c5178edf9", "rel": "self"}, {"href": "http://localhost/allocations/abe9abf5-db38-4d69-9600-4a8c5178edf9", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
{3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_no_uuid [0.060459s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis/nodes WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-af30e7f9-2016-44b1-a7ed-63d0e18bcd89
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_type_hidden_in_lower_version [0.130363s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers/fake-hardware-type WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-389a3aff-ae98-424c-b932-fafdbe269ecc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.14
{"name": "fake-hardware-type", "hosts": ["fake-host2", "fake-host1"], "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"}]}
{3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_one [0.089600s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-6580267f-8dc1-4ef1-aa43-076529a1bed4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_allocation.TestListAllocations.test_allocation_owner_present [0.136216s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations/f1101537-bcf1-47e3-9587-8946af77b16f WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-78428bac-f87d-4806-b36e-46b83f8cfd3c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "f1101537-bcf1-47e3-9587-8946af77b16f", "created_at": "2025-05-30T17:26:19.941347+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/f1101537-bcf1-47e3-9587-8946af77b16f", "rel": "self"}, {"href": "http://localhost/allocations/f1101537-bcf1-47e3-9587-8946af77b16f", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
{1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_async [0.122018s] ... 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-33eb7dfb-038d-4d5a-b102-149c497ae4c3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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)
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_multi [0.222588s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/deploy_templates/d4d97844-79c8-448e-ac5f-b4d2777cfaf9 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-b277fef9-6e38-47a1-b2bb-c6537a7215b6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "d4d97844-79c8-448e-ac5f-b4d2777cfaf9", "created_at": "2025-05-30T17:26:19.909933+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/d4d97844-79c8-448e-ac5f-b4d2777cfaf9", "rel": "self"}, {"href": "http://localhost/deploy_templates/d4d97844-79c8-448e-ac5f-b4d2777cfaf9", "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}]}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_by_node_invalid_node [0.093242s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/node/dfa86d67-c90a-4a6e-9617-318043fdd326/allocation 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_driver.TestListDrivers.test_driver_vendor_passthru_delete [0.112696s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/drivers/fake-hardware-type/vendor_passthru/do_test GOT Response: 202 Accepted
Openstack-Request-Id: req-938dd662-577a-4cdc-a247-37c99013fa55
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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)
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_by_node_resource_not_existed [0.107307s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/node/87bb3494-6e9f-4892-b176-e3d8d3d1de57/allocation 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_replace_name_already_exist [0.191703s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/deploy_templates/e62d25ee-5bce-4048-bfbe-9a01d8584baf WITH [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'replace'}] GOT Response: 409 Conflict
Content-Type: application/json
Openstack-Request-Id: req-b9c3bc00-5882-41f5-ae89-727ae035e461
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A deploy template with UUID e62d25ee-5bce-4048-bfbe-9a01d8584baf already exists.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_driver_not_found [0.093196s] ... 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-0a1cd116-1082-42a6-b172-aa20a79e1ed5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links [0.116038s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations/?limit=3 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-a42068ae-a105-43df-aafd-49a4c33e0e02
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"allocations": [{"uuid": "c3b24f63-8487-4591-a000-3ab12ec12d7f", "created_at": "2025-05-30T17:26:20.244299+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/c3b24f63-8487-4591-a000-3ab12ec12d7f", "rel": "self"}, {"href": "http://localhost/allocations/c3b24f63-8487-4591-a000-3ab12ec12d7f", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "e1422519-10f5-4407-bb6b-340a331b12cd", "created_at": "2025-05-30T17:26:20.245158+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/e1422519-10f5-4407-bb6b-340a331b12cd", "rel": "self"}, {"href": "http://localhost/allocations/e1422519-10f5-4407-bb6b-340a331b12cd", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "9c900673-1a48-4013-8a2c-2d2ff14e8749", "created_at": "2025-05-30T17:26:20.256745+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/9c900673-1a48-4013-8a2c-2d2ff14e8749", "rel": "self"}, {"href": "http://localhost/allocations/9c900673-1a48-4013-8a2c-2d2ff14e8749", "rel": "bookmark"}], "node_uuid": null}], "next": "http://localhost/v1/allocations?sort_key=id&sort_dir=asc&limit=3&marker=9c900673-1a48-4013-8a2c-2d2ff14e8749"}
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_non_existent_step_fail [0.117304s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/deploy_templates/332f753d-a75c-4c8e-91b3-b8391b45f376 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-986670d3-5041-4131-a3c5-ad35801be033
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_driver.TestListDrivers.test_driver_vendor_passthru_get [0.150179s] ... 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-df8a1714-372c-431c-bbf5-cb9c455cb143
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_driver.TestListDrivers.test_driver_vendor_passthru_method_not_found [0.114832s] ... 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-a91033eb-4db2-4620-8c2f-b55840d1a660
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links_custom_fields [0.207039s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations?fields=uuid,extra WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-364f6745-c7ea-4a4c-b41c-f072d750292c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"allocations": [{"uuid": "cb2b7a2f-4fc4-48f1-86c9-77f326cb49b3", "extra": {}, "links": [{"href": "http://localhost/v1/allocations/cb2b7a2f-4fc4-48f1-86c9-77f326cb49b3", "rel": "self"}, {"href": "http://localhost/allocations/cb2b7a2f-4fc4-48f1-86c9-77f326cb49b3", "rel": "bookmark"}]}, {"uuid": "ffc13f91-794b-44e2-b625-90ccb12d4207", "extra": {}, "links": [{"href": "http://localhost/v1/allocations/ffc13f91-794b-44e2-b625-90ccb12d4207", "rel": "self"}, {"href": "http://localhost/allocations/ffc13f91-794b-44e2-b625-90ccb12d4207", "rel": "bookmark"}]}, {"uuid": "d4c9c526-6e13-407f-8e28-cbeb25d1bdab", "extra": {}, "links": [{"href": "http://localhost/v1/allocations/d4c9c526-6e13-407f-8e28-cbeb25d1bdab", "rel": "self"}, {"href": "http://localhost/allocations/d4c9c526-6e13-407f-8e28-cbeb25d1bdab", "rel": "bookmark"}]}], "next": "http://localhost/v1/allocations?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=d4c9c526-6e13-407f-8e28-cbeb25d1bdab"}
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_step_invalid_interface [0.168736s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/deploy_templates/fc86f89b-9d01-46b1-a04f-3742353af584 WITH [{'path': '/steps/0/interface', 'op': 'replace', 'value': 'foo'}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-8f2921ec-9f24-4de6-b5c5-1c2f269da05a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'foo' is not one of ['vendor', 'power', 'management', 'firmware', 'deploy', 'bios', 'raid']\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_sort_key [0.594423s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis?sort_key=uuid WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-4da35664-e81e-4b10-8aae-ab4ce72c76da
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"chassis": [{"uuid": "ae64e339-a65e-478d-a5cb-6b9ad3c9454e", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/ae64e339-a65e-478d-a5cb-6b9ad3c9454e", "rel": "self"}, {"href": "http://localhost/chassis/ae64e339-a65e-478d-a5cb-6b9ad3c9454e", "rel": "bookmark"}]}, {"uuid": "f0b592c0-b006-4695-abc6-6c0bb040f6f9", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/f0b592c0-b006-4695-abc6-6c0bb040f6f9", "rel": "self"}, {"href": "http://localhost/chassis/f0b592c0-b006-4695-abc6-6c0bb040f6f9", "rel": "bookmark"}]}, {"uuid": "f20dc51a-b81d-4fad-9fb1-057bfe5eb296", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/f20dc51a-b81d-4fad-9fb1-057bfe5eb296", "rel": "self"}, {"href": "http://localhost/chassis/f20dc51a-b81d-4fad-9fb1-057bfe5eb296", "rel": "bookmark"}]}]}
{3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_sort_key_invalid [0.053691s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis?sort_key=foo WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-3d9ac607-565a-4a94-a512-e7ebc2b653b2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-076ebe02-979d-4dea-8281-dc55eb0c422f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_allocation.TestListAllocations.test_collection_links_default_limit [0.137011s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-1fee8c90-33f4-4a20-9966-c1c6f61d9859
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"allocations": [{"uuid": "1000cc98-82ba-4831-82f0-5b8f6aeef190", "created_at": "2025-05-30T17:26:20.585043+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/1000cc98-82ba-4831-82f0-5b8f6aeef190", "rel": "self"}, {"href": "http://localhost/allocations/1000cc98-82ba-4831-82f0-5b8f6aeef190", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "b46daa5f-bbc7-44a6-978d-f42073b66462", "created_at": "2025-05-30T17:26:20.585975+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/b46daa5f-bbc7-44a6-978d-f42073b66462", "rel": "self"}, {"href": "http://localhost/allocations/b46daa5f-bbc7-44a6-978d-f42073b66462", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "2fa68370-c807-456a-bc2d-4f1ad9cb1e2a", "created_at": "2025-05-30T17:26:20.586846+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/2fa68370-c807-456a-bc2d-4f1ad9cb1e2a", "rel": "self"}, {"href": "http://localhost/allocations/2fa68370-c807-456a-bc2d-4f1ad9cb1e2a", "rel": "bookmark"}], "node_uuid": null}], "next": "http://localhost/v1/allocations?sort_key=id&sort_dir=asc&limit=3&marker=2fa68370-c807-456a-bc2d-4f1ad9cb1e2a"}
{1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_methods [0.150005s] ... 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-31ed97ad-1a59-4786-be9d-ce6a6aac8fc2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-b28daa0a-5299-426f-8746-74d7616b3f4d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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)
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_id [0.168441s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/deploy_templates/7ff76c5d-d9e6-4e0f-8c28-53d60a2e037c WITH [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-9124748a-0ce7-4584-9ccb-af7f84986810
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "7ff76c5d-d9e6-4e0f-8c28-53d60a2e037c", "created_at": "2025-05-30T17:26:20.596649+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/7ff76c5d-d9e6-4e0f-8c28-53d60a2e037c", "rel": "self"}, {"href": "http://localhost/deploy_templates/7ff76c5d-d9e6-4e0f-8c28-53d60a2e037c", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}
{3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create [0.057694s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': 'c6ac40b3-d2c0-498e-93bb-bb44bad2932e', '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/c6ac40b3-d2c0-498e-93bb-bb44bad2932e
Openstack-Request-Id: req-e9325562-62f2-4b44-b9f2-3d78f5c8da3f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "c6ac40b3-d2c0-498e-93bb-bb44bad2932e", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/c6ac40b3-d2c0-498e-93bb-bb44bad2932e", "rel": "self"}, {"href": "http://localhost/deploy_templates/c6ac40b3-d2c0-498e-93bb-bb44bad2932e", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}
GET /v1/deploy_templates/c6ac40b3-d2c0-498e-93bb-bb44bad2932e WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-f9b5f4b3-123f-4950-b673-ac480bcbb8d4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "c6ac40b3-d2c0-498e-93bb-bb44bad2932e", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/c6ac40b3-d2c0-498e-93bb-bb44bad2932e", "rel": "self"}, {"href": "http://localhost/deploy_templates/c6ac40b3-d2c0-498e-93bb-bb44bad2932e", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_empty [0.073230s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-6931546d-fd0e-4389-a052-cbfd2dc5dffc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"allocations": []}
{3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_complex_step_args [0.050228s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': 'edaf1f44-48bc-4264-ab09-6dfc447907ec', '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/edaf1f44-48bc-4264-ab09-6dfc447907ec
Openstack-Request-Id: req-00f4151b-85ed-4e3e-8ff5-d54376e8c504
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "edaf1f44-48bc-4264-ab09-6dfc447907ec", "created_at": "2025-05-30T17:26:20.712698+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/edaf1f44-48bc-4264-ab09-6dfc447907ec", "rel": "self"}, {"href": "http://localhost/deploy_templates/edaf1f44-48bc-4264-ab09-6dfc447907ec", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"foo": [{"bar": "baz"}]}, "priority": 10}]}
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_id_invalid_api_version [0.054350s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/deploy_templates/2b5d2f0f-9c61-484f-8f68-38942ae29a92 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_driver.TestListDrivers.test_driver_vendor_passthru_put [0.114589s] ... 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-a1e08823-ed6f-4da7-bac3-6bce789e2e4d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_deploy_template.TestPost.test_create_doesnt_contain_id [0.066256s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '5eb06cec-fe10-402b-864d-fb8118e532c5', '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/5eb06cec-fe10-402b-864d-fb8118e532c5
Openstack-Request-Id: req-bbc460a3-7f76-4530-aaa5-7bf5bb3c141f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "5eb06cec-fe10-402b-864d-fb8118e532c5", "created_at": "2025-05-30T17:26:20.770359+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/5eb06cec-fe10-402b-864d-fb8118e532c5", "rel": "self"}, {"href": "http://localhost/deploy_templates/5eb06cec-fe10-402b-864d-fb8118e532c5", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}
GET /v1/deploy_templates/5eb06cec-fe10-402b-864d-fb8118e532c5 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-f6fde805-af19-441b-92ca-b1a8d064bf03
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "5eb06cec-fe10-402b-864d-fb8118e532c5", "created_at": "2025-05-30T17:26:20.770359+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/5eb06cec-fe10-402b-864d-fb8118e532c5", "rel": "self"}, {"href": "http://localhost/deploy_templates/5eb06cec-fe10-402b-864d-fb8118e532c5", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_node_name [0.118722s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations?node=node-1 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-c7dac559-2089-461f-a2b7-b7c7692dcb47
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"allocations": [{"uuid": "c187c4c1-0276-458e-9c7c-c869cd84f22c", "created_at": "2025-05-30T17:26:20.743132+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/c187c4c1-0276-458e-9c7c-c869cd84f22c", "rel": "self"}, {"href": "http://localhost/allocations/c187c4c1-0276-458e-9c7c-c869cd84f22c", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "d6a543ac-1b99-490f-8fed-9c9f345e48e4", "created_at": "2025-05-30T17:26:20.760153+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/d6a543ac-1b99-490f-8fed-9c9f345e48e4", "rel": "self"}, {"href": "http://localhost/allocations/d6a543ac-1b99-490f-8fed-9c9f345e48e4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "eca04a16-4e90-4931-a8a7-1dca8812a94c", "created_at": "2025-05-30T17:26:20.761613+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/eca04a16-4e90-4931-a8a7-1dca8812a94c", "rel": "self"}, {"href": "http://localhost/allocations/eca04a16-4e90-4931-a8a7-1dca8812a94c", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]}
{3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_error [0.044941s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '03c1a948-3b1a-41bc-9123-87005d61c31c', '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-5238a9ed-bbe5-46e0-a4ac-4c5b150386d5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name [0.111407s] ... 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-4f1dd652-bfc3-4de6-bc9b-dd2ee9152804
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "b5bb759d-e09f-46a1-aef7-e9b9f9267269", "created_at": "2025-05-30T17:26:20.775476+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/b5bb759d-e09f-46a1-aef7-e9b9f9267269", "rel": "self"}, {"href": "http://localhost/deploy_templates/b5bb759d-e09f-46a1-aef7-e9b9f9267269", "rel": "bookmark"}], "steps": [{"interface": "bios", "step": "apply_configuration", "args": {"foo": "bar"}, "priority": 42}]}
{1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_sync [0.119305s] ... 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-25e143cc-329d-4e7d-89ec-a789c1e017ff
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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)
{3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_generate_uuid [0.077326s] ... 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/c7545f29-aeda-4f2a-b9c9-eec4a45aabf4
Openstack-Request-Id: req-0a5c253c-bf10-48e7-9d12-36da562f2c7c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "c7545f29-aeda-4f2a-b9c9-eec4a45aabf4", "created_at": "2025-05-30T17:26:20.899787+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/c7545f29-aeda-4f2a-b9c9-eec4a45aabf4", "rel": "self"}, {"href": "http://localhost/deploy_templates/c7545f29-aeda-4f2a-b9c9-eec4a45aabf4", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}
GET /v1/deploy_templates/c7545f29-aeda-4f2a-b9c9-eec4a45aabf4 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-6fb25448-07c9-4917-b9a7-0699c74e925a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "c7545f29-aeda-4f2a-b9c9-eec4a45aabf4", "created_at": "2025-05-30T17:26:20.899787+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/c7545f29-aeda-4f2a-b9c9-eec4a45aabf4", "rel": "self"}, {"href": "http://localhost/deploy_templates/c7545f29-aeda-4f2a-b9c9-eec4a45aabf4", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name_old_api_version [0.081202s] ... 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\"}"}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_node_uuid [0.105356s] ... 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-258e8a20-cf63-428a-99ca-1985eb581bf4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"allocations": [{"uuid": "036eaa82-dea8-42ad-8489-b880373b4f6f", "created_at": "2025-05-30T17:26:20.906846+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/036eaa82-dea8-42ad-8489-b880373b4f6f", "rel": "self"}, {"href": "http://localhost/allocations/036eaa82-dea8-42ad-8489-b880373b4f6f", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]}
{3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_api_version [0.030435s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '80a4cc65-e26c-4277-8444-5bcf30af8aac', '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\"}"}
{3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_empty_steps [0.036770s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '1f0bd458-1850-4dba-a81b-0b23b89268a1', 'steps': [], 'extra': {}} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-8cf4922c-12ea-40d1-ad38-3ba7fcbfa718
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: [] is too short\", \"debuginfo\": null}"}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_non_existing_node [0.065175s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations?node=banana WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-b96c1cae-dc02-488f-93e7-06c5f7f87d24
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node banana could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_extra [0.049180s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '51554282-2f2b-472b-8ee5-b52bf93f1f66', '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-0b4f07fb-488f-4713-bbab-ea321f0faed9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 42 is not of type 'object', 'null'\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name_with_json [0.106537s] ... 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-56060f27-4907-4178-9d88-2e57850c791b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.90
{"uuid": "79faa4db-d02b-41c6-9910-6d720ee29e2b", "created_at": "2025-05-30T17:26:20.964405+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/79faa4db-d02b-41c6-9910-6d720ee29e2b", "rel": "self"}, {"href": "http://localhost/deploy_templates/79faa4db-d02b-41c6-9910-6d720ee29e2b", "rel": "bookmark"}], "steps": [{"interface": "bios", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}
{1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers [0.166716s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-aa4779c4-7ce7-45c9-9249-3e6f41fbc00b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"drivers": [{"name": "fake-hardware-type", "hosts": ["fake-host2", "fake-host1"], "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-2c72db25-9ff7-4db0-a18a-5808927a39b3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"name": "fake-hardware-type", "hosts": ["fake-host2", "fake-host1"], "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-a6f6457f-9b9a-4f9f-8ff4-1ac7b9cf59ac
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"name": "fake-hardware-type", "hosts": ["fake-host2", "fake-host1"], "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-70240c3a-3cb8-4a1e-81a0-a0aead6595ad
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-f2a5ed83-f0ca-4522-8f2d-a2b22ad0b83f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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"}]}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_owner [0.086522s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations?owner=12345 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-beabb850-a659-4741-8e37-cb4292567a9c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"allocations": [{"uuid": "6c38930c-287a-447b-b451-fbe5df5ba624", "created_at": "2025-05-30T17:26:21.062389+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/6c38930c-287a-447b-b451-fbe5df5ba624", "rel": "self"}, {"href": "http://localhost/allocations/6c38930c-287a-447b-b451-fbe5df5ba624", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "54912f59-46d6-4e77-9ab7-9f9ea2eb7b41", "created_at": "2025-05-30T17:26:21.066116+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/54912f59-46d6-4e77-9ab7-9f9ea2eb7b41", "rel": "self"}, {"href": "http://localhost/allocations/54912f59-46d6-4e77-9ab7-9f9ea2eb7b41", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "f87c9283-9124-4b81-b7c5-b46b19ee1e0f", "created_at": "2025-05-30T17:26:21.066944+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/f87c9283-9124-4b81-b7c5-b46b19ee1e0f", "rel": "self"}, {"href": "http://localhost/allocations/f87c9283-9124-4b81-b7c5-b46b19ee1e0f", "rel": "bookmark"}], "node_uuid": null}]}
{3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_foo [0.056084s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '53431e96-9bd0-42d6-aee5-aba083942404', '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-5083b95d-f0ff-4f0d-8ef6-064bb1b4a6d2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: Additional properties are not allowed ('foo' was unexpected)\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name_with_json_not_found [0.080070s] ... 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-3740b7ee-4112-467c-aab2-c60824d080e5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.TestPost.test_create_invalid_field_name [0.038998s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/deploy_templates WITH {'name': 42, 'uuid': '7402d74c-ca75-461e-9902-caaecfc3a139', '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-5bf46e68-7e20-4e91-b527-cdeba2665a37
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 42 is not of type 'string'\", \"debuginfo\": null}"}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_owner_not_allowed [0.083644s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations?owner=12345 WITH {} GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-eef52dc8-61e2-4dfb-a319-d268bfe2f06f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_driver.TestListDrivers.test_drivers_collection_custom_fields [0.098800s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers?fields=name,hosts WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-a918949f-45a5-47f5-b5aa-4d989859fd61
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.77
{"drivers": [{"name": "fake-hardware-type", "hosts": ["fake-host2", "fake-host1"], "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"}]}]}
{3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_name_none [0.048231s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/deploy_templates WITH {'name': None, 'uuid': '73365033-aee5-470c-923f-e8891286a57e', '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-531fc958-1cca-4560-bd31-4cc0a4215e1d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_driver.TestListDrivers.test_drivers_collection_custom_fields_with_detail_false [0.036198s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers?fields=name,hosts&detail=false WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-29cb52b4-dcd7-4f28-9bfa-bef07b8dd573
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.77
{"drivers": [{"name": "fake-hardware-type", "hosts": ["fake-host2", "fake-host1"], "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"}]}]}
{3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_steps [0.047248s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '38f21e55-5a61-4206-88ee-2db3514067fc', 'steps': {}, 'extra': {}} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-d8030c5d-1737-4f2c-8a26-8d7fd6157322
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: {} is not of type 'array'\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_collection_custom_fields_with_detail_true [0.034151s] ... 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-401db969-b271-4517-8747-5fce21513f90
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_owner_not_allowed_mismatch [0.089282s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations?owner=12345 WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-f8ee4209-4d98-4422-a54a-b74aa608c109
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.60
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Not authorized.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_invalid_name [0.139885s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/deploy_templates/15fa1b73-6951-4154-8636-694e38057961 WITH [{'path': '/name', 'value': 'aa:bb_cc', 'op': 'replace'}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-98a1b8c2-5054-415f-98c6-fc7fc6272da3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}"}
{1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_collection_invalid_custom_fields [0.041371s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers?fields=name,invalid WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-559871e0-fca6-4c9f-8efa-702c91ee8741
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_deploy_template.TestPost.test_create_invalid_step_field_args1 [0.051459s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '68165cdb-8c0a-4ed1-ac2e-ac8e0ed1a12e', '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-d88ae6b1-ef1f-424c-9f18-c6c9f5002521
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_driver.TestListDrivers.test_drivers_detail_bad_version [0.031804s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers?detail=True WITH {} GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-1e60ca2d-eca8-44d4-a2d4-fda12976f62d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_deploy_template.TestPost.test_create_invalid_step_field_args2 [0.045684s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '3d849cfd-a1be-4cfe-affc-a1db188b069a', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': [], 'priority': 10}], 'extra': {}} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-b927caf9-2127-4143-b041-a23184453803
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: [] is not of type 'object'\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_detail_bad_version_false [0.036411s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers?detail=False WITH {} GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-baee4d1e-26dc-414c-8780-c03fe441ae2e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_deploy_template.TestPost.test_create_invalid_step_field_foo [0.037850s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '1393a6cb-5041-4fed-a59f-1f43890af49f', '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-d2c8af0c-c163-47a8-a998-0deda9155241
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: Additional properties are not allowed ('foo' was unexpected)\", \"debuginfo\": null}"}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_state [0.113177s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations?state=allocating WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-15b1058b-6026-43c7-bb3b-adeb65b73acf
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"allocations": [{"uuid": "3deb3b42-04c7-4842-aaa8-e09e85e764a0", "created_at": "2025-05-30T17:26:21.348065+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/3deb3b42-04c7-4842-aaa8-e09e85e764a0", "rel": "self"}, {"href": "http://localhost/allocations/3deb3b42-04c7-4842-aaa8-e09e85e764a0", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "398c7637-3527-4a45-bb18-dcd14def0790", "created_at": "2025-05-30T17:26:21.349217+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/398c7637-3527-4a45-bb18-dcd14def0790", "rel": "self"}, {"href": "http://localhost/allocations/398c7637-3527-4a45-bb18-dcd14def0790", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "86ab775a-fb61-44f4-9567-b8909a5f112c", "created_at": "2025-05-30T17:26:21.350073+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/86ab775a-fb61-44f4-9567-b8909a5f112c", "rel": "self"}, {"href": "http://localhost/allocations/86ab775a-fb61-44f4-9567-b8909a5f112c", "rel": "bookmark"}], "node_uuid": null}]}
{1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_not_found [0.045011s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers/nope WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-dac533c1-e500-401f-8c83-4b2c51102d43
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_name_custom_trait [0.156585s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/deploy_templates/336ea8a5-717d-45d2-9f5d-d8ced54e83f9 WITH [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'replace'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-e1b7e118-921a-48d5-ab4a-3541dba79494
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "336ea8a5-717d-45d2-9f5d-d8ced54e83f9", "created_at": "2025-05-30T17:26:21.338831+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/336ea8a5-717d-45d2-9f5d-d8ced54e83f9", "rel": "self"}, {"href": "http://localhost/deploy_templates/336ea8a5-717d-45d2-9f5d-d8ced54e83f9", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}
{3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_interface1 [0.038646s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': 'a298ecaf-2034-4b51-b0ae-2eff1de687ec', '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-0a3ba33a-0d95-4c84-b88c-2920ec71e94f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: [3] is not of type 'string'\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_interface2 [0.035417s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '0216fb6a-411c-47d5-869b-55060e6a3b02', '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-d72ad3c0-11ba-4a55-8307-3ee2531588a0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_driver.TestListDrivers.test_drivers_get_one_ok_dynamic_base_interfaces [0.062652s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers/fake-hardware-type WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-bc822b79-a2f2-4655-b24a-bee223f0f6b8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.30
{"name": "fake-hardware-type", "hosts": ["fake-host2", "fake-host1"], "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_console_interface": null, "enabled_console_interfaces": [], "default_boot_interface": null, "enabled_boot_interfaces": [], "default_deploy_interface": "direct", "enabled_deploy_interfaces": ["direct", "ansible"], "default_vendor_interface": null, "enabled_vendor_interfaces": [], "default_inspect_interface": null, "enabled_inspect_interfaces": [], "default_raid_interface": null, "enabled_raid_interfaces": [], "default_management_interface": null, "enabled_management_interfaces": [], "default_network_interface": null, "enabled_network_interfaces": [], "default_power_interface": null, "enabled_power_interfaces": []}
GET /v1/drivers/fake-hardware-type WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-aee1009c-2831-4cba-8738-d7600c453f6a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"name": "fake-hardware-type", "hosts": ["fake-host2", "fake-host1"], "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-bcbd50b8-73f3-44e4-b8ba-3fb7bafbc569
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"name": "fake-hardware-type", "hosts": ["fake-host2", "fake-host1"], "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)
{3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_negative_priority [0.039869s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '8a676373-e855-4775-bb93-26e0fb9bee53', '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-72f259d6-ff59-420a-b34b-3e7b3f6cf177
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: -1 is less than the minimum of 0\", \"debuginfo\": null}"}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource [0.123551s] ... 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-cbc0cdf1-8587-4f72-9e5d-ab7073bdb912
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1c372240-ed5e-41ab-95c4-31ae99cf2479", "created_at": "2025-05-30T17:26:21.461466+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/1c372240-ed5e-41ab-95c4-31ae99cf2479", "rel": "self"}, {"href": "http://localhost/allocations/1c372240-ed5e-41ab-95c4-31ae99cf2479", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
{3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_priority [0.036284s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '83727b11-f1dc-4af1-a5f2-f69b8abbfcd9', '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-96060cd3-fafe-46c9-a035-b9903f744375
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_driver.TestListDrivers.test_drivers_get_one_ok_dynamic_latest_interfaces [0.068840s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers/fake-hardware-type WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-1a8ef10c-a5bf-4ea1-9ce8-d51c5127c0b1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"name": "fake-hardware-type", "hosts": ["fake-host2", "fake-host1"], "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_console_interface": null, "enabled_console_interfaces": [], "default_storage_interface": null, "enabled_storage_interfaces": [], "default_firmware_interface": null, "enabled_firmware_interfaces": [], "default_boot_interface": null, "enabled_boot_interfaces": [], "default_rescue_interface": null, "enabled_rescue_interfaces": [], "default_deploy_interface": "direct", "enabled_deploy_interfaces": ["direct", "ansible"], "default_vendor_interface": null, "enabled_vendor_interfaces": [], "default_inspect_interface": null, "enabled_inspect_interfaces": [], "default_bios_interface": null, "enabled_bios_interfaces": [], "default_raid_interface": null, "enabled_raid_interfaces": [], "default_management_interface": null, "enabled_management_interfaces": [], "default_network_interface": null, "enabled_network_interfaces": [], "default_power_interface": null, "enabled_power_interfaces": []}
GET /v1/drivers/fake-hardware-type WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-000f31f0-d43a-4edd-a2bf-fd44326deb46
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"name": "fake-hardware-type", "hosts": ["fake-host2", "fake-host1"], "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-7b12897d-7a56-473f-84b4-c37c8f7b65a5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"name": "fake-hardware-type", "hosts": ["fake-host2", "fake-host1"], "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_driver.TestListDrivers.test_drivers_no_active_conductor [0.032436s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-09c28456-433b-4879-90d1-37b082e5d0b1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"drivers": []}
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_name_standard_trait [0.160621s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/deploy_templates/3faa5548-d1f5-4878-bfe4-8343282fe303 WITH [{'path': '/name', 'value': 'HW_CPU_X86_VMX', 'op': 'replace'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-67e520bf-2f37-4366-aaa5-b8a1ed06e7f8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "3faa5548-d1f5-4878-bfe4-8343282fe303", "created_at": "2025-05-30T17:26:21.495568+00:00", "updated_at": null, "name": "HW_CPU_X86_VMX", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/3faa5548-d1f5-4878-bfe4-8343282fe303", "rel": "self"}, {"href": "http://localhost/deploy_templates/3faa5548-d1f5-4878-bfe4-8343282fe303", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}
{3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_step [0.046110s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': 'f5edc6b5-db70-46c0-9cfd-c7d2668cbbde', 'steps': [{'interface': 'raid', 'step': 42, 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-d0fc24c1-54fa-4bf3-be05-a96f1d99cb91
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 42 is not of type 'string'\", \"debuginfo\": null}"}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_and_id [0.101355s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation/f2a2df3c-7179-49cc-b029-4fff6e9bf627 WITH {} GOT Response: 405 Method Not Allowed
Allow: DELETE, GET
Content-Type: application/json
{"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"\"}"}
{1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_bad_value [0.052079s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers?type=working WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-40e2b401-725d-4522-9f86-8d03d73c98b2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_long_name [0.074765s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/deploy_templates WITH {'name': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'uuid': 'b32f28e4-2436-448b-99a4-5cdf6eda5528', '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/b32f28e4-2436-448b-99a4-5cdf6eda5528
Openstack-Request-Id: req-43e9d0f7-2306-439c-aac3-024912cbb9eb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "b32f28e4-2436-448b-99a4-5cdf6eda5528", "created_at": "2025-05-30T17:26:21.650905+00:00", "updated_at": null, "name": "CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/b32f28e4-2436-448b-99a4-5cdf6eda5528", "rel": "self"}, {"href": "http://localhost/deploy_templates/b32f28e4-2436-448b-99a4-5cdf6eda5528", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}
{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_not_found [0.100605s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/deploy_templates/6dd9584f-d600-45dd-a4de-631892b2abac WITH [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-55bf3d67-fe9f-4531-a3e3-9cfd6fc007b8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template 6dd9584f-d600-45dd-a4de-631892b2abac could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_bad_version [0.057070s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers?type=classic WITH {} GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-01b1a5e9-075b-44dc-8ff5-cfef3e4554d2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_invalid_api_version [0.103576s] ... 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_deploy_template.TestPost.test_create_name_invalid_not_a_trait [0.077729s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/deploy_templates WITH {'name': 'not-a-trait', 'uuid': 'f2a52c9b-850b-4351-9301-ad86449cc5f9', '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-fb4e2156-2746-42f8-9e29-3c055aa407cc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_driver.TestListDrivers.test_drivers_type_filter_classic [0.084704s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers?type=classic WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-7b1ab74e-64f6-4c1e-ace1-45fa51d5b25e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.30
{"drivers": []}
{0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events [0.117362s] ... 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-9d8619c3-c7e7-487d-b0bc-b18ef5c83cc5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_dynamic [0.048053s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers?type=dynamic WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-8c1f06e8-88e1-4497-bcd4-0c7a3a114f66
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.30
{"drivers": [{"name": "fake-hardware-type", "hosts": ["fake-host2", "fake-host1"], "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"}]}
{3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_name_invalid_too_long [0.068574s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/deploy_templates WITH {'name': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'uuid': '2ef93fcd-af2e-4d92-9348-99e55bdfc2c6', '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-cb1c5192-e034-4848-a77a-451f55f7014f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' is too long\", \"debuginfo\": null}"}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_with_fields [0.139613s] ... 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-8ef08536-2a70-4ca5-8a3e-6869c8e8c7f8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"extra": {}, "name": null, "links": [{"href": "http://localhost/v1/allocations/26e2f5bb-db92-4142-ade8-d0907c80445b", "rel": "self"}, {"href": "http://localhost/allocations/26e2f5bb-db92-4142-ade8-d0907c80445b", "rel": "bookmark"}]}
{1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic [0.054002s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-b609be69-2095-4893-8917-6088582c3ca6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.30
{"drivers": [{"name": "fake-hardware-type", "hosts": ["fake-host2", "fake-host1"], "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-56bbb18a-9226-4cf0-a20d-2eeffea05639
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"name": "fake-hardware-type", "hosts": ["fake-host2", "fake-host1"], "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-ad5e51f1-60bc-4795-9a9b-6b8b252692c4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"name": "fake-hardware-type", "hosts": ["fake-host2", "fake-host1"], "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-2bea6af9-d830-41e0-9c62-5cac45693c50
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-ae708efd-98f3-4666-a24f-3835eb24ba47
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_event.TestPost.test_events_does_not_contain_event [0.104847s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/events WITH {'events': [{'INVALID': 'fake.event'}]} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-17a68599-80e1-4246-8d80-5e06016fd334
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'event' is a required property\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_field_name [0.078111s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/deploy_templates WITH {'uuid': '6b19a125-9bff-447e-87cc-9abe49f9104b', '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-52cbb2a5-e549-4673-8611-03f95a91f4e0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'name' is a required property\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic_detailed [0.068595s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers?detail=True WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-19f22ec3-0ec8-4731-9935-5f68195ac5c2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.30
{"drivers": [{"name": "fake-hardware-type", "hosts": ["fake-host2", "fake-host1"], "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_console_interface": null, "enabled_console_interfaces": [], "default_boot_interface": null, "enabled_boot_interfaces": [], "default_deploy_interface": "direct", "enabled_deploy_interfaces": ["direct", "ansible"], "default_vendor_interface": null, "enabled_vendor_interfaces": [], "default_inspect_interface": null, "enabled_inspect_interfaces": [], "default_raid_interface": null, "enabled_raid_interfaces": [], "default_management_interface": null, "enabled_management_interfaces": [], "default_network_interface": null, "enabled_network_interfaces": [], "default_power_interface": null, "enabled_power_interfaces": []}, {"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_console_interface": null, "enabled_console_interfaces": [], "default_boot_interface": null, "enabled_boot_interfaces": [], "default_deploy_interface": null, "enabled_deploy_interfaces": [], "default_vendor_interface": null, "enabled_vendor_interfaces": [], "default_inspect_interface": null, "enabled_inspect_interfaces": [], "default_raid_interface": null, "enabled_raid_interfaces": [], "default_management_interface": null, "enabled_management_interfaces": [], "default_network_interface": null, "enabled_network_interfaces": [], "default_power_interface": null, "enabled_power_interfaces": []}]}
GET /v1/drivers/fake-hardware-type WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-b778c0a2-afa8-4f46-af4e-6359cfeb7ce5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"name": "fake-hardware-type", "hosts": ["fake-host2", "fake-host1"], "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-db21b862-ede1-47da-8168-da1cef97c7bf
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"name": "fake-hardware-type", "hosts": ["fake-host2", "fake-host1"], "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-df90ddcf-a26a-40c9-95f7-b7adae5addfc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-4b581ae0-c115-4dc9-87df-b879244df4
    a8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_deploy_template.TestPost.test_create_no_mandatory_field_steps [0.073987s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '6bb3decc-bead-44bc-b7cd-9577a0f5415f', 'extra': {}} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-e83b0a46-9607-4148-87ee-135f452a6140
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'steps' is a required property\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic_detailed_storage_interface [0.073345s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers?detail=True WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-fe02c1db-448e-4c61-83c8-768b0de5e222
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"drivers": [{"name": "fake-hardware-type", "hosts": ["fake-host2", "fake-host1"], "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_console_interface": null, "enabled_console_interfaces": [], "default_storage_interface": null, "enabled_storage_interfaces": [], "default_firmware_interface": null, "enabled_firmware_interfaces": [], "default_boot_interface": null, "enabled_boot_interfaces": [], "default_rescue_interface": null, "enabled_rescue_interfaces": [], "default_deploy_interface": "direct", "enabled_deploy_interfaces": ["direct", "ansible"], "default_vendor_interface": null, "enabled_vendor_interfaces": [], "default_inspect_interface": null, "enabled_inspect_interfaces": [], "default_bios_interface": null, "enabled_bios_interfaces": [], "default_raid_interface": null, "enabled_raid_interfaces": [], "default_management_interface": null, "enabled_management_interfaces": [], "default_network_interface": null, "enabled_network_interfaces": [], "default_power_interface": null, "enabled_power_interfaces": []}, {"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_console_interface": null, "enabled_console_interfaces": [], "default_storage_interface": null, "enabled_storage_interfaces": [], "default_firmware_interface": null, "enabled_firmware_interfaces": [], "default_boot_interface": null, "enabled_boot_interfaces": [], "default_rescue_interface": null, "enabled_rescue_interfaces": [], "default_deploy_interface": null, "enabled_deploy_interfaces": [], "default_vendor_interface": null, "enabled_vendor_interfaces": [], "default_inspect_interface": null, "enabled_inspect_interfaces": [], "default_bios_interface": null, "enabled_bios_interfaces": [], "default_raid_interface": null, "enabled_raid_interfaces": [], "default_management_interface": null, "enabled_management_interfaces": [], "default_network_interface": null, "enabled_network_interfaces": [], "default_power_interface": null, "enabled_power_interfaces": []}]}
GET /v1/drivers/fake-hardware-type WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-3f7902f3-30f0-419c-921b-ca352ce7e5c8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"name": "fake-hardware-type", "hosts": ["fake-host2", "fake-host1"], "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-d4937ccc-b6a0-4039-b42e-436b3c1b04d7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"name": "fake-hardware-type", "hosts": ["fake-host2", "fake-host1"], "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-
    a74e8de7-d51c-46e3-a68f-2d0525e7ca99
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-90046bb3-47e2-4aad-b7e1-69ad617fcda4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_event.TestPost.test_events_invalid_event [0.123343s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/events WITH {'events': [{'event': 'invalid.event'}]} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-1fabacfd-e6f4-431a-8ad5-9db48e8ff213
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_allocation.TestListAllocations.test_get_collection_custom_fields [0.183425s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations?fields=uuid,extra WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-07be2b37-8d80-4b1f-81a3-1d8ed3bce15e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"allocations": [{"uuid": "76b7e981-3a04-4ebf-8402-93e015d116fa", "extra": {}, "links": [{"href": "http://localhost/v1/allocations/76b7e981-3a04-4ebf-8402-93e015d116fa", "rel": "self"}, {"href": "http://localhost/allocations/76b7e981-3a04-4ebf-8402-93e015d116fa", "rel": "bookmark"}]}, {"uuid": "9c47f864-57fb-4007-bea6-d3d49c1a3b34", "extra": {}, "links": [{"href": "http://localhost/v1/allocations/9c47f864-57fb-4007-bea6-d3d49c1a3b34", "rel": "self"}, {"href": "http://localhost/allocations/9c47f864-57fb-4007-bea6-d3d49c1a3b34", "rel": "bookmark"}]}, {"uuid": "eaea9ef5-85a2-4ad5-829d-06f6aaf0720f", "extra": {}, "links": [{"href": "http://localhost/v1/allocations/eaea9ef5-85a2-4ad5-829d-06f6aaf0720f", "rel": "self"}, {"href": "http://localhost/allocations/eaea9ef5-85a2-4ad5-829d-06f6aaf0720f", "rel": "bookmark"}]}]}
{3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_args [0.071535s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '053ceb1b-9088-4a74-96b7-8fd7fbd853e1', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'priority': 10}], 'extra': {}} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-d03bb551-6752-4568-9d33-79b5d76a3168
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'args' is a required property\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_get_custom_fields_invalid_api_version [0.077080s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers?fields=name,hosts WITH {} GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-b0793dd3-a243-4323-8569-e227b784e0d7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-6bb23c60-11f1-4f61-920f-6aac1139c602
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_get_one_custom_fields [0.035205s] ... 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-6f85c183-6f57-491a-8bce-1d7806c2cc2e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.77
{"name": "fake-hardware-type", "hosts": ["fake-host2", "fake-host1"], "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_deploy_template.TestPost.test_create_no_mandatory_step_field_interface [0.065930s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '232c17c7-3138-4615-8f42-46c3043f28b6', 'steps': [{'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-6e99aea7-62f8-467b-b264-502fc8d5ca0f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'interface' is a required property\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events_unsupported_api_version [0.130883s] ... 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-1b9d9405-0262-4ff3-9d46-33fdc8beef95
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_collection_pagination_no_uuid [0.141168s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations?fields=node_uuid&limit=2 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-6a02651d-66ad-48e2-a6b2-b0597c43b479
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"allocations": [{"links": [{"href": "http://localhost/v1/allocations/50361976-539d-467c-95f2-9d9c69f67091", "rel": "self"}, {"href": "http://localhost/allocations/50361976-539d-467c-95f2-9d9c69f67091", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"links": [{"href": "http://localhost/v1/allocations/e4c3c409-9a61-478a-a9b8-9ee2252d630b", "rel": "self"}, {"href": "http://localhost/allocations/e4c3c409-9a61-478a-a9b8-9ee2252d630b", "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=e4c3c409-9a61-478a-a9b8-9ee2252d630b"}
{1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_get_one_invalid_custom_fields [0.049507s] ... 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-5e72f5c7-ecec-473b-88f6-089c80b2ee41
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_deploy_template.TestPost.test_create_no_mandatory_step_field_priority [0.074339s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '9bd2c804-d853-4b1e-b4df-2b219585a7f9', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}}], 'extra': {}} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-c7827346-564f-4499-bc17-0252fd929cca
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'priority' is a required property\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_multiple_events [0.099008s] ... 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-a16fb57d-c374-408c-885a-b11c987f258f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_custom_fields_invalid_fields [0.086394s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations/738dab6d-cbb7-49e4-b81f-bbebe5e67ae5?fields=uuid,spongebob WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-7c422352-6a6f-418f-a995-d7eb2f5633ae
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_links [0.100755s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers/fake-hardware-type WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-74e63528-fa9a-455b-99dc-52651c52958b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"name": "fake-hardware-type", "hosts": ["fake-host2", "fake-host1"], "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-b969c13c-4b84-42cc-b760-d5ce47b6517f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"name": "fake-hardware-type", "hosts": ["fake-host2", "fake-host1"], "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-8870f66b-7345-4167-95d1-c53b5520234a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"name": "fake-hardware-type", "hosts": ["fake-host2", "fake-host1"], "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_deploy_template.TestPost.test_create_no_mandatory_step_field_step [0.078061s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '83f32574-fabe-4f4b-924c-b441f39f6ca7', 'steps': [{'interface': 'raid', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-81908107-fde5-4507-a9fa-fd51751b3cd5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'step' is a required property\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_bind_port_events [0.081216s] ... 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-d2cfba12-fa0d-43eb-a386-fa326dc9c820
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one [0.097633s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations/f187370b-f340-4ed2-aabb-b77cbe60dc68 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-6b0dae56-f7d9-426b-a41b-4ebe624993e3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "f187370b-f340-4ed2-aabb-b77cbe60dc68", "created_at": "2025-05-30T17:26:22.341615+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/f187370b-f340-4ed2-aabb-b77cbe60dc68", "rel": "self"}, {"href": "http://localhost/allocations/f187370b-f340-4ed2-aabb-b77cbe60dc68", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
{3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_standard_trait_name [0.091705s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/deploy_templates WITH {'name': 'HW_CPU_X86_VMX', 'uuid': 'b5afd2fd-d58f-47fd-a969-6b6cddfc1a3f', '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/b5afd2fd-d58f-47fd-a969-6b6cddfc1a3f
Openstack-Request-Id: req-0d6c2937-9bf9-46f4-a1f6-9935844f46cd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "b5afd2fd-d58f-47fd-a969-6b6cddfc1a3f", "created_at": "2025-05-30T17:26:22.415478+00:00", "updated_at": null, "name": "HW_CPU_X86_VMX", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/b5afd2fd-d58f-47fd-a969-6b6cddfc1a3f", "rel": "self"}, {"href": "http://localhost/deploy_templates/b5afd2fd-d58f-47fd-a969-6b6cddfc1a3f", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}
{1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_links_public_url [0.125097s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers/fake-hardware-type WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-da64bc4d-64d9-4fb3-8e1d-a8e502c31ce1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"name": "fake-hardware-type", "hosts": ["fake-host2", "fake-host1"], "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-dbdd1c00-1ae8-4e6d-9f6c-250ecc212a99
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"name": "fake-hardware-type", "hosts": ["fake-host2", "fake-host1"], "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-2256cd2d-a673-4d71-8e8d-c9a51a5ec656
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"name": "fake-hardware-type", "hosts": ["fake-host2", "fake-host1"], "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_event.TestPost.test_network_delete_port_events [0.081267s] ... 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-a361eab9-5321-41e1-b7c1-e16bc73152c9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_custom_fields [0.081205s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations/d93c1c38-9760-4cbc-a645-1796e6f5631b?fields=resource_class,extra WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-82758ac4-510a-45f2-9563-6ad992e17c1c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"extra": {}, "resource_class": "baremetal", "links": [{"href": "http://localhost/v1/allocations/d93c1c38-9760-4cbc-a645-1796e6f5631b", "rel": "self"}, {"href": "http://localhost/allocations/d93c1c38-9760-4cbc-a645-1796e6f5631b", "rel": "bookmark"}]}
{0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_binding_host_id [0.068874s] ... 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-2c1c06e9-a95b-4135-a4ba-d9af1944b7cd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}"}
{3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_step_string_priority [0.082311s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': 'f40c7a82-5864-41cd-98bf-a64e3a825978', '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/f40c7a82-5864-41cd-98bf-a64e3a825978
Openstack-Request-Id: req-c20fdc1b-e295-4e4a-8b44-87b6ed16c75e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "f40c7a82-5864-41cd-98bf-a64e3a825978", "created_at": "2025-05-30T17:26:22.492400+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/f40c7a82-5864-41cd-98bf-a64e3a825978", "rel": "self"}, {"href": "http://localhost/deploy_templates/f40c7a82-5864-41cd-98bf-a64e3a825978", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": "42"}]}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_invalid_api_version [0.059014s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations/31f6919a-220b-4f8a-813a-7c44a4239db7 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\"}"}
{1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties [0.126338s] ... 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-39fe09c1-1a0f-44dc-bd75-8f2d34c9c96f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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)
{0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_binding_vnic_type [0.068499s] ... 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-5587c912-29f5-4180-8386-c5ebb2d95903
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['binding:vnic_type', 'SHOULD', 'BE', 'TEXT'] is not of type 'string', 'null'\", \"debuginfo\": null}"}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_invalid_api_version_without_check [0.055870s] ... 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_deploy_template.TestPost.test_create_steps_invalid_duplicate [0.079751s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': 'ffae8ef9-28b2-45d7-b6cb-316a4fcb167f', '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-4532a44e-f664-4264-b262-2186bd04a856
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_event.TestPost.test_network_port_event_invalid_device_id [0.077056s] ... 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-f491b5c8-e027-4dba-9e24-cca607dd26e6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for device_id: DEVICE_ID_SHOULD_BE_UUID\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_cached [0.071176s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers/manual-management/properties WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-a55d0004-9936-4ae1-bd55-aeac2825a376
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-458ec0b1-e7b0-4b7b-96c9-221aa7d68f37
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-7f44ab3f-99e2-4bc0-b222-a3843badff38
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.TestListAllocations.test_get_one_with_double_json_in_name [0.089525s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations/d37a41ed-8cf1-4995-9899-da81f2ce7813 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-6414c5ef-e016-4288-8ee4-b25d109e4e6b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "d37a41ed-8cf1-4995-9899-da81f2ce7813", "created_at": "2025-05-30T17:26:22.641473+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/d37a41ed-8cf1-4995-9899-da81f2ce7813", "rel": "self"}, {"href": "http://localhost/allocations/d37a41ed-8cf1-4995-9899-da81f2ce7813", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
{0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_mac_address [0.071304s] ... 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-e37fd49e-864c-4f9d-a070-c93b7a718c05
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_driver.TestDriverProperties.test_driver_properties_cannot_load [0.068046s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers/driver/properties WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-1283e304-941c-42c0-85ad-6026c1a0659f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_json [0.072206s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations/6fc74641-b78b-4561-96c4-16dfc956b863.json WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-b99fa8fa-ec11-4c36-8104-64af5f4e91db
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.90
{"uuid": "6fc74641-b78b-4561-96c4-16dfc956b863", "created_at": "2025-05-30T17:26:22.719711+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/6fc74641-b78b-4561-96c4-16dfc956b863", "rel": "self"}, {"href": "http://localhost/allocations/6fc74641-b78b-4561-96c4-16dfc956b863", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
{0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_port_id [0.066467s] ... 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-25aa8160-708e-4d97-8f0a-5e3b3c454480
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for port_id: PORT_ID_SHOULD_BE_UUID\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_fake [0.068614s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers/test/properties WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-684086cd-7d92-4a6c-87b7-28c18bec4eae
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.TestListAllocations.test_get_one_with_json_in_name [0.083865s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations/30e644c6-b4b5-4f33-8a89-3f159b0bdc23 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-4fc07b73-d2ef-4f64-8eb2-68ddafdbca02
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "30e644c6-b4b5-4f33-8a89-3f159b0bdc23", "created_at": "2025-05-30T17:26:22.808399+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/30e644c6-b4b5-4f33-8a89-3f159b0bdc23", "rel": "self"}, {"href": "http://localhost/allocations/30e644c6-b4b5-4f33-8a89-3f159b0bdc23", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
{3} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_hw_type [0.064609s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers/manual-management/properties WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-198af91d-c2a3-4868-93fa-3a8666a95426
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_event.TestPost.test_network_port_event_invalid_status [0.083080s] ... 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-774348ca-9e8d-4bc6-8ba8-09157975df02
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['status', 'SHOULD', 'BE', 'TEXT'] is not of type 'string'\", \"debuginfo\": null}"}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_json_not_found [0.075523s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations/3c40d766-42f3-4855-9b5b-3004fa1d1e15.json WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-cb2b7be5-1fa7-426e-9a2a-20d274ed82b6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 3c40d766-42f3-4855-9b5b-3004fa1d1e15.json could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_unbind_port_events [0.075713s] ... 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-8edec698-0f94-4f41-ba91-f0f6556c3007
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{3} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_invalid_driver_name [0.094305s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers/bad_driver/properties WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-e58f039e-703c-47b7-bf95-bf480de1f2fd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_driver.TestListDrivers.test_raid_logical_disk_properties_cached [0.447284s] ... 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-897a8edf-14ad-42eb-b6b5-58d5676eb22a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-03dc9e32-b6cb-4d05-bcbf-ca7470f48bff
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-92bbacf4-63e8-4767-9811-15fe24dd9c3f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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)
{0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_unknown_event_property [0.074622s] ... 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-731fe436-c2db-49d8-9028-9690d34ad072
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'port_id' is a required property\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_event_missing_madatory_field [0.061677s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_iface_not_supported [0.084112s] ... 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-7e6b9c24-f2c4-4591-b660-c23799814b4c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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)
{0} ironic.tests.unit.api.controllers.v1.test_inspection_rule.TestListInspectionRules.test_empty [0.075546s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/inspection_rules WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-e3989b49-380c-43a3-b9f7-4957591850c1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"inspection_rules": []}
{3} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_invalid_event_type [0.077415s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_older_version [0.063772s] ... 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-4503d9e6-e452-4222-b6bb-6e37dc64aa2c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.api.controllers.v1.test_inspection_rule.TestListInspectionRules.test_get_all [0.072633s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/inspection_rules WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-4a173819-f933-42cc-b328-d95fe288c34c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"inspection_rules": [{"uuid": "7ef92dd9-1ee2-44e0-865b-024882727e3e", "description": "an inspection rule", "priority": 0, "phase": "main", "links": [{"href": "http://localhost/v1/inspection/7ef92dd9-1ee2-44e0-865b-024882727e3e", "rel": "self"}, {"href": "http://localhost/inspection/7ef92dd9-1ee2-44e0-865b-024882727e3e", "rel": "bookmark"}]}, {"uuid": "28350201-36e6-4814-a004-2bb9d018d9a8", "description": "an inspection rule", "priority": 0, "phase": "main", "links": [{"href": "http://localhost/v1/inspection/28350201-36e6-4814-a004-2bb9d018d9a8", "rel": "self"}, {"href": "http://localhost/inspection/28350201-36e6-4814-a004-2bb9d018d9a8", "rel": "bookmark"}]}]}
{3} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_invalid_mac_network_port_event [0.080288s] ... ok
{0} ironic.tests.unit.api.controllers.v1.test_inspection_rule.TestListInspectionRules.test_get_all_invalid_api_version [0.055506s] ... 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\"}"}
{1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events [0.085933s] ... 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-f3001895-9eee-4d14-90e0-786a02bcbd51
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{3} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_missing_mandatory_fields_network_port_event [0.079551s] ... ok
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_suffix [0.401920s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations/db93a570-7d4b-4a56-bafc-0b6af718ee15 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-2c99db2c-96f7-408e-8aab-8b48ee1d98a4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "db93a570-7d4b-4a56-bafc-0b6af718ee15", "created_at": "2025-05-30T17:26:22.958183+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/db93a570-7d4b-4a56-bafc-0b6af718ee15", "rel": "self"}, {"href": "http://localhost/allocations/db93a570-7d4b-4a56-bafc-0b6af718ee15", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
{1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events_does_not_contain_event [0.053613s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/events WITH {'events': [{'INVALID': 'fake.event'}]} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-db265d87-dc73-4ea4-8a10-9d87f115d3c1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'event' is a required property\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_simple_event_type [0.072109s] ... ok
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_owner_field [0.086325s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations/41a62f3a-f4a4-410d-8fc0-32bd743dfac3?fields=owner WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-79bc1398-b955-4aa6-8c1c-99cceeb4345c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"owner": "12345", "links": [{"href": "http://localhost/v1/allocations/41a62f3a-f4a4-410d-8fc0-32bd743dfac3", "rel": "self"}, {"href": "http://localhost/allocations/41a62f3a-f4a4-410d-8fc0-32bd743dfac3", "rel": "bookmark"}]}
{1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events_invalid_event [0.070380s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/events WITH {'events': [{'event': 'invalid.event'}]} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-65bf08bb-3416-48ad-bd65-58b7f0e5e6bd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_event.TestPostRBAC.test_events_unsupported_api_version [0.065723s] ... 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-ccbe29f9-072f-43fa-86e5-aedd56bda888
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node.TestDelete.test_delete_associated [0.129204s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 409 Conflict
Content-Type: application/json
Openstack-Request-Id: req-7146f795-d965-48cb-8f70-032638d19e74
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_links [0.145659s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations/4dd539ad-fafe-43fc-9d00-bf121c55f2f7 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-87c2a12c-9d3c-4702-8e14-6f62ef29b591
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "4dd539ad-fafe-43fc-9d00-bf121c55f2f7", "created_at": "2025-05-30T17:26:23.476431+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/4dd539ad-fafe-43fc-9d00-bf121c55f2f7", "rel": "self"}, {"href": "http://localhost/allocations/4dd539ad-fafe-43fc-9d00-bf121c55f2f7", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
GET /v1/allocations/4dd539ad-fafe-43fc-9d00-bf121c55f2f7 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-28b6c1d0-ae38-4da4-8706-8de5fa788701
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "4dd539ad-fafe-43fc-9d00-bf121c55f2f7", "created_at": "2025-05-30T17:26:23.476431+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/4dd539ad-fafe-43fc-9d00-bf121c55f2f7", "rel": "self"}, {"href": "http://localhost/allocations/4dd539ad-fafe-43fc-9d00-bf121c55f2f7", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
GET /allocations/4dd539ad-fafe-43fc-9d00-bf121c55f2f7 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-22c61cae-eff5-495c-9fa6-633b06a738c6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "4dd539ad-fafe-43fc-9d00-bf121c55f2f7", "created_at": "2025-05-30T17:26:23.476431+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/4dd539ad-fafe-43fc-9d00-bf121c55f2f7", "rel": "self"}, {"href": "http://localhost/allocations/4dd539ad-fafe-43fc-9d00-bf121c55f2f7", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
{1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_multiple_events [0.112130s] ... 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-76ebd164-69f2-47c0-8161-0d2a5be805ec
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node [0.129197s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 204 No Content
Openstack-Request-Id: req-212e5824-f8eb-4779-ad54-3298600a0307
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{0} ironic.tests.unit.api.controllers.v1.test_inspection_rule.TestListInspectionRules.test_get_one [0.470158s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/inspection_rules/41e8b3bd-d136-4923-8a92-f76daecde82a WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-dc20c58a-3c65-4aa0-a31d-13074a11940f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "41e8b3bd-d136-4923-8a92-f76daecde82a", "created_at": "2025-05-30T17:26:23.687453+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/41e8b3bd-d136-4923-8a92-f76daecde82a", "rel": "self"}, {"href": "http://localhost/inspection/41e8b3bd-d136-4923-8a92-f76daecde82a", "rel": "bookmark"}]}
{1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_bind_port_events [0.120016s] ... 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-e47c0ca4-7eb5-4344-b1d2-00fd4c484957
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_many [0.174458s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-83121b98-e2e8-40b5-a3e7-7beb98bd73a7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"allocations": [{"uuid": "9bab7605-b285-4b91-92b4-3c9048d2efd3", "created_at": "2025-05-30T17:26:23.642403+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/9bab7605-b285-4b91-92b4-3c9048d2efd3", "rel": "self"}, {"href": "http://localhost/allocations/9bab7605-b285-4b91-92b4-3c9048d2efd3", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "a93c3053-4d87-4127-ba22-e6a2e3d084be", "created_at": "2025-05-30T17:26:23.643361+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/a93c3053-4d87-4127-ba22-e6a2e3d084be", "rel": "self"}, {"href": "http://localhost/allocations/a93c3053-4d87-4127-ba22-e6a2e3d084be", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "40ce04db-ec2e-488f-b1a0-2bb0dd0794c7", "created_at": "2025-05-30T17:26:23.644206+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/40ce04db-ec2e-488f-b1a0-2bb0dd0794c7", "rel": "self"}, {"href": "http://localhost/allocations/40ce04db-ec2e-488f-b1a0-2bb0dd0794c7", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "2cf93cca-acb6-4b11-b028-0b2d1aee6ebe", "created_at": "2025-05-30T17:26:23.645129+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/2cf93cca-acb6-4b11-b028-0b2d1aee6ebe", "rel": "self"}, {"href": "http://localhost/allocations/2cf93cca-acb6-4b11-b028-0b2d1aee6ebe", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "6e2ccef3-27d8-4d68-9699-3903f770d89e", "created_at": "2025-05-30T17:26:23.645988+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/6e2ccef3-27d8-4d68-9699-3903f770d89e", "rel": "self"}, {"href": "http://localhost/allocations/6e2ccef3-27d8-4d68-9699-3903f770d89e", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name [0.122317s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/foo.1 GOT Response: 204 No Content
Openstack-Request-Id: req-39d10175-f349-433f-bb69-3932a80ae0e6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.5
{0} ironic.tests.unit.api.controllers.v1.test_inspection_rule.TestListInspectionRules.test_get_one_invalid_api_version [0.085256s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/inspection_rules/4ba0bf35-56a3-4ef9-903c-d6588d6d8f12 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\"}"}
{1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_delete_port_events [0.104496s] ... 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-b8f316b6-59ed-41f0-94bf-388eb3b3c733
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_one [0.103945s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-571ccdd2-d030-4fc6-86b6-3f63bb8a9ebd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"allocations": [{"uuid": "419c23f2-30d6-4d82-9643-ca86ee5fb566", "created_at": "2025-05-30T17:26:23.809798+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/419c23f2-30d6-4d82-9643-ca86ee5fb566", "rel": "self"}, {"href": "http://localhost/allocations/419c23f2-30d6-4d82-9643-ca86ee5fb566", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name_unsupported [0.089925s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/foo GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-6272666f-65c0-4505-a8f0-791ce6143722
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.api.controllers.v1.test_inspection_rule.TestListInspectionRules.test_get_rule_data [0.098525s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/inspection_rules WITH {'uuid': 'b5dc7387-e510-4668-8ed9-31ec829fdb2b', '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/b5dc7387-e510-4668-8ed9-31ec829fdb2b
Openstack-Request-Id: req-ebab000c-661c-46d5-a452-de2d862ac094
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "b5dc7387-e510-4668-8ed9-31ec829fdb2b", "created_at": "2025-05-30T17:26:23.889798+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/b5dc7387-e510-4668-8ed9-31ec829fdb2b", "rel": "self"}, {"href": "http://localhost/inspection/b5dc7387-e510-4668-8ed9-31ec829fdb2b", "rel": "bookmark"}]}
GET /v1/inspection_rules/b5dc7387-e510-4668-8ed9-31ec829fdb2b WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-3cbc4d81-f4e0-4eb7-9de8-0a0416291344
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "b5dc7387-e510-4668-8ed9-31ec829fdb2b", "created_at": "2025-05-30T17:26:23.889798+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/b5dc7387-e510-4668-8ed9-31ec829fdb2b", "rel": "self"}, {"href": "http://localhost/inspection/b5dc7387-e510-4668-8ed9-31ec829fdb2b", "rel": "bookmark"}]}
{1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_binding_host_id [0.074732s] ... 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-f5981ff0-ecd3-436b-b5f6-e029bd1071a7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_allocation.TestListAllocations.test_sort_key [0.106045s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations?sort_key=uuid WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-fe6c1e9b-6c90-4bb8-80fd-5a1da498ae2d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"allocations": [{"uuid": "aeea4fb5-9445-41ca-8f2b-a0adc90ddc44", "created_at": "2025-05-30T17:26:23.893828+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/aeea4fb5-9445-41ca-8f2b-a0adc90ddc44", "rel": "self"}, {"href": "http://localhost/allocations/aeea4fb5-9445-41ca-8f2b-a0adc90ddc44", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "d428ce1e-89c4-430e-8d7e-f933f28f14ae", "created_at": "2025-05-30T17:26:23.894747+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/d428ce1e-89c4-430e-8d7e-f933f28f14ae", "rel": "self"}, {"href": "http://localhost/allocations/d428ce1e-89c4-430e-8d7e-f933f28f14ae", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "f4e0e7c5-5401-4b03-a530-5a26ffbac0b3", "created_at": "2025-05-30T17:26:23.895604+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/f4e0e7c5-5401-4b03-a530-5a26ffbac0b3", "rel": "self"}, {"href": "http://localhost/allocations/f4e0e7c5-5401-4b03-a530-5a26ffbac0b3", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name_with_json [0.128622s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/foo.json GOT Response: 204 No Content
Openstack-Request-Id: req-219ce1df-93e7-42b1-988c-427cee71d4d1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.5
{1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_binding_vnic_type [0.080165s] ... 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-d4d0ccd2-8232-4a49-bb47-0cb59d0ced12
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_inspection_rule.TestListInspectionRules.test_get_sensitive_rule_hides_data [0.094795s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/inspection_rules WITH {'uuid': '70bada10-978c-48b5-84a7-4606d8d95e3f', '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/70bada10-978c-48b5-84a7-4606d8d95e3f
Openstack-Request-Id: req-ad44a655-7352-4ad6-b327-d78749d1a794
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "70bada10-978c-48b5-84a7-4606d8d95e3f", "created_at": "2025-05-30T17:26:23.981375+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/70bada10-978c-48b5-84a7-4606d8d95e3f", "rel": "self"}, {"href": "http://localhost/inspection/70bada10-978c-48b5-84a7-4606d8d95e3f", "rel": "bookmark"}]}
GET /v1/inspection_rules/70bada10-978c-48b5-84a7-4606d8d95e3f WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-0caae6e0-b075-4ca9-a741-0c31d55771ba
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "70bada10-978c-48b5-84a7-4606d8d95e3f", "created_at": "2025-05-30T17:26:23.981375+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/70bada10-978c-48b5-84a7-4606d8d95e3f", "rel": "self"}, {"href": "http://localhost/inspection/70bada10-978c-48b5-84a7-4606d8d95e3f", "rel": "bookmark"}]}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key_allowed [0.087615s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations?sort_key=name WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-29645734-3303-4270-a723-58a9b93dd15b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"allocations": [{"uuid": "65a2fe1a-ccd9-496f-9fb9-d6abc97e3de5", "created_at": "2025-05-30T17:26:24.002256+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/65a2fe1a-ccd9-496f-9fb9-d6abc97e3de5", "rel": "self"}, {"href": "http://localhost/allocations/65a2fe1a-ccd9-496f-9fb9-d6abc97e3de5", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "90b65dfc-ad9b-4902-87b8-6fbc53654936", "created_at": "2025-05-30T17:26:24.001405+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/90b65dfc-ad9b-4902-87b8-6fbc53654936", "rel": "self"}, {"href": "http://localhost/allocations/90b65dfc-ad9b-4902-87b8-6fbc53654936", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "2fcd4340-5992-4bf8-bfe7-1d7b818ed982", "created_at": "2025-05-30T17:26:23.999815+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/2fcd4340-5992-4bf8-bfe7-1d7b818ed982", "rel": "self"}, {"href": "http://localhost/allocations/2fcd4340-5992-4bf8-bfe7-1d7b818ed982", "rel": "bookmark"}], "node_uuid": null}]}
{1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_device_id [0.074158s] ... 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-98121e61-7b02-4487-b22b-437915393028
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for device_id: DEVICE_ID_SHOULD_BE_UUID\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_maintenance_mode [0.125459s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT Response: 202 Accepted
Openstack-Request-Id: req-9cf7efb4-2853-450b-8b35-0395f36c1e8c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key_invalid [0.080096s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations?sort_key=foo WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-3c5cf1c0-04c1-4a87-a015-1e316e6b1eb5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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-1e3b8f81-96b5-4c08-912b-57faabd5a860
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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-59595d82-4811-437c-b003-32181d295de4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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-a11d2549-34f0-4469-8178-adaf6d19e177
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_inspection_rule.TestListInspectionRules.test_list_hides_sensitive_data [0.122644s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/inspection_rules WITH {'uuid': '25f33b85-b414-4d5e-b9e9-1e0928b1ae17', '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/25f33b85-b414-4d5e-b9e9-1e0928b1ae17
Openstack-Request-Id: req-f7974ee6-3a8a-4d1c-b6cf-f02a1c62ff1f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "25f33b85-b414-4d5e-b9e9-1e0928b1ae17", "created_at": "2025-05-30T17:26:24.076482+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/25f33b85-b414-4d5e-b9e9-1e0928b1ae17", "rel": "self"}, {"href": "http://localhost/inspection/25f33b85-b414-4d5e-b9e9-1e0928b1ae17", "rel": "bookmark"}]}
POST /v1/inspection_rules WITH {'uuid': 'd7599872-01d8-41d6-9ba5-d84611736769', '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/d7599872-01d8-41d6-9ba5-d84611736769
Openstack-Request-Id: req-9c5ee43d-f611-4e7f-a668-b2caa9e9a024
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "d7599872-01d8-41d6-9ba5-d84611736769", "created_at": "2025-05-30T17:26:24.104614+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/d7599872-01d8-41d6-9ba5-d84611736769", "rel": "self"}, {"href": "http://localhost/inspection/d7599872-01d8-41d6-9ba5-d84611736769", "rel": "bookmark"}]}
GET /v1/inspection_rules?detail=true WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-9fe1ab91-9e5c-4152-a59e-3daf7bcb10c8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"inspection_rules": [{"uuid": "25f33b85-b414-4d5e-b9e9-1e0928b1ae17", "created_at": "2025-05-30T17:26:24.076482+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/25f33b85-b414-4d5e-b9e9-1e0928b1ae17", "rel": "self"}, {"href": "http://localhost/inspection/25f33b85-b414-4d5e-b9e9-1e0928b1ae17", "rel": "bookmark"}]}, {"uuid": "d7599872-01d8-41d6-9ba5-d84611736769", "created_at": "2025-05-30T17:26:24.104614+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/d7599872-01d8-41d6-9ba5-d84611736769", "rel": "self"}, {"href": "http://localhost/inspection/d7599872-01d8-41d6-9ba5-d84611736769", "rel": "bookmark"}]}]}
{1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_mac_address [0.100066s] ... 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-996415c2-ecc2-4fa1-b88c-e4bfe75dacfd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for mac_address: INVALID_MAC_ADDRESS\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_inspection_rule.TestListInspectionRules.test_one [0.056971s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/inspection_rules WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-51ae5d7a-2fdb-4c5e-b58e-7ac2d87fa8c0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"inspection_rules": [{"uuid": "34c34afe-b879-4aba-88d9-a0b2b88f9ef3", "description": "an inspection rule", "priority": 0, "phase": "main", "links": [{"href": "http://localhost/v1/inspection/34c34afe-b879-4aba-88d9-a0b2b88f9ef3", "rel": "self"}, {"href": "http://localhost/inspection/34c34afe-b879-4aba-88d9-a0b2b88f9ef3", "rel": "bookmark"}]}]}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_maintenance_mode_by_name [0.121332s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/foo/maintenance GOT Response: 202 Accepted
Openstack-Request-Id: req-ba336085-2d87-4da7-9b0d-7415f4de0b48
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.5
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill [0.113896s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'f874523c-a30f-4b50-ad02-f418b646f863', 'owner': None, 'node': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 201 Created
Content-Type: application/json
Location: http://localhost/v1/allocations/f874523c-a30f-4b50-ad02-f418b646f863
Openstack-Request-Id: req-e54d9aa5-4f10-4106-af69-750091055d9d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "f874523c-a30f-4b50-ad02-f418b646f863", "created_at": "2025-05-30T17:26:24.190741+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/f874523c-a30f-4b50-ad02-f418b646f863", "rel": "self"}, {"href": "http://localhost/allocations/f874523c-a30f-4b50-ad02-f418b646f863", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
GET /v1/allocations/f874523c-a30f-4b50-ad02-f418b646f863 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-84f476b6-b63f-4970-9763-63d9786a6760
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "f874523c-a30f-4b50-ad02-f418b646f863", "created_at": "2025-05-30T17:26:24.190741+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/f874523c-a30f-4b50-ad02-f418b646f863", "rel": "self"}, {"href": "http://localhost/allocations/f874523c-a30f-4b50-ad02-f418b646f863", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
{1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_port_id [0.078513s] ... 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-fcf92731-cab1-442c-8665-cacac4345ff7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_inspection_rule.TestPatch.test_patch_invalid_api_version [0.062473s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/inspection_rules/8301637d-f013-4e46-86d3-143e2c791362 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\"}"}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found [0.102645s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-54791e56-ed25-4f7b-ab73-876018ed9d62
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_event.TestPostRBAC.test_network_port_event_invalid_status [0.082211s] ... 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-9a3d2e00-2f7b-4ecd-b891-a056f8a1cfce
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['status', 'SHOULD', 'BE', 'TEXT'] is not of type 'string'\", \"debuginfo\": null}"}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_copy_instance_uuid [0.133505s] ... 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/d943f274-d9ef-4187-bc1e-07b34bb6220d
Openstack-Request-Id: req-b53eceb9-6786-42db-927d-47c42faa6a32
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "d943f274-d9ef-4187-bc1e-07b34bb6220d", "created_at": "2025-05-30T17:26:24.320294+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/d943f274-d9ef-4187-bc1e-07b34bb6220d", "rel": "self"}, {"href": "http://localhost/allocations/d943f274-d9ef-4187-bc1e-07b34bb6220d", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
GET /v1/allocations/d943f274-d9ef-4187-bc1e-07b34bb6220d WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-d0712b09-4236-4552-a841-9fb66d4d098f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "d943f274-d9ef-4187-bc1e-07b34bb6220d", "created_at": "2025-05-30T17:26:24.320294+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/d943f274-d9ef-4187-bc1e-07b34bb6220d", "rel": "self"}, {"href": "http://localhost/allocations/d943f274-d9ef-4187-bc1e-07b34bb6220d", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
{0} ironic.tests.unit.api.controllers.v1.test_inspection_rule.TestPatch.test_set_sensitive_field [0.155132s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/inspection_rules WITH {'uuid': 'c2d3e656-e568-4ce5-a017-3296cd695b3d', '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/c2d3e656-e568-4ce5-a017-3296cd695b3d
Openstack-Request-Id: req-bd5160c3-2e25-4aab-a0b2-9b45fe14c7c6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "c2d3e656-e568-4ce5-a017-3296cd695b3d", "created_at": "2025-05-30T17:26:24.341879+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/c2d3e656-e568-4ce5-a017-3296cd695b3d", "rel": "self"}, {"href": "http://localhost/inspection/c2d3e656-e568-4ce5-a017-3296cd695b3d", "rel": "bookmark"}]}
PATCH /v1/inspection_rules/c2d3e656-e568-4ce5-a017-3296cd695b3d WITH [{'op': 'replace', 'path': '/sensitive', 'value': True}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-a057703e-bc6b-4167-b386-03e13dbef2b4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "c2d3e656-e568-4ce5-a017-3296cd695b3d", "created_at": "2025-05-30T17:26:24.341879+00:00", "updated_at": "2025-05-30T17:26:24.399538+00:00", "description": "an inspection rule", "priority": 0, "sensitive": true, "phase": "main", "conditions": null, "actions": null, "links": [{"href": "http://localhost/v1/inspection/c2d3e656-e568-4ce5-a017-3296cd695b3d", "rel": "self"}, {"href": "http://localhost/inspection/c2d3e656-e568-4ce5-a017-3296cd695b3d", "rel": "bookmark"}]}
PATCH /v1/inspection_rules/c2d3e656-e568-4ce5-a017-3296cd695b3d WITH [{'op': 'replace', 'path': '/sensitive', 'value': False}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-4de0a813-0964-4855-9ee3-507fd67387f6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}"}
{1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_unbind_port_events [0.078973s] ... 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-32bd0a5d-23e1-4958-9b2b-fccc39f0f7d9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_node_not_found [0.077031s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '1f44fd72-872c-42df-9cc4-b99e2c44dc61', 'owner': None, 'node': 'cb307e23-7f7c-4774-89ef-95a7d0ece064'} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-de5a1926-b15c-4b69-97c9-e4cccb0b1e50
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node cb307e23-7f7c-4774-89ef-95a7d0ece064 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_unknown_event_property [0.068525s] ... 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-db7eabc2-a554-4e3b-a8bc-88a2b3d3da67
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'port_id' is a required property\", \"debuginfo\": null}"}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_not_allowed [0.101078s] ... 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-41bd0e9b-d922-42bc-95f5-83b020753c28
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node.TestBIOS.test_get_all_bios [0.145960s] ... 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-ca82a79d-df1e-4ce2-a3e0-7e9d7d7d7eae
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.74
{"bios": [{"created_at": "2025-05-30T17:26:24.515785+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"}]}]}
{1} ironic.tests.unit.api.controllers.v1.test_inspection_rule.TestDelete.test_delete_by_uuid [0.102078s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/inspection_rules/81e9eed7-9d34-4a6b-a171-24833fdece68 GOT Response: 204 No Content
Openstack-Request-Id: req-12d0d09b-4c3a-4a36-97bd-40f0cdadc925
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_with_name [0.110998s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'b19f815e-2807-42d7-929e-3f2e16fc3a9e', 'owner': None, 'node': 'backfill-me'} GOT Response: 201 Created
Content-Type: application/json
Location: http://localhost/v1/allocations/b19f815e-2807-42d7-929e-3f2e16fc3a9e
Openstack-Request-Id: req-0af69f89-122c-47cf-b044-184f6cf81970
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "b19f815e-2807-42d7-929e-3f2e16fc3a9e", "created_at": "2025-05-30T17:26:24.615246+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/b19f815e-2807-42d7-929e-3f2e16fc3a9e", "rel": "self"}, {"href": "http://localhost/allocations/b19f815e-2807-42d7-929e-3f2e16fc3a9e", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
GET /v1/allocations/b19f815e-2807-42d7-929e-3f2e16fc3a9e WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-218fff17-6ab8-4c13-ac5e-2d75233ce6b6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "b19f815e-2807-42d7-929e-3f2e16fc3a9e", "created_at": "2025-05-30T17:26:24.615246+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/b19f815e-2807-42d7-929e-3f2e16fc3a9e", "rel": "self"}, {"href": "http://localhost/allocations/b19f815e-2807-42d7-929e-3f2e16fc3a9e", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_detail_false [0.095192s] ... 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-6e835e90-42ce-4303-b086-4eb51237c425
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.74
{"bios": [{"created_at": "2025-05-30T17:26:24.633320+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"}]}]}
{1} ironic.tests.unit.api.controllers.v1.test_inspection_rule.TestDelete.test_delete_invalid_api_version [0.088376s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/inspection_rules/2c4ac05f-1b30-44f8-aee3-bf9e97605c62 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\"}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_detail_old_version [0.084647s] ... 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-859ca2f9-f015-47fd-a2c1-9d201f82d4f9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_without_resource_class [0.121345s] ... 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/0b9ad667-dc39-4577-a8a5-d22b6cbbc542
Openstack-Request-Id: req-a84efb68-8f90-4264-848b-651ea45b4edb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "0b9ad667-dc39-4577-a8a5-d22b6cbbc542", "created_at": "2025-05-30T17:26:24.736713+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/0b9ad667-dc39-4577-a8a5-d22b6cbbc542", "rel": "self"}, {"href": "http://localhost/allocations/0b9ad667-dc39-4577-a8a5-d22b6cbbc542", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
GET /v1/allocations/0b9ad667-dc39-4577-a8a5-d22b6cbbc542 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-207cc7c7-653e-44ea-b7fd-5d91974d27d3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "0b9ad667-dc39-4577-a8a5-d22b6cbbc542", "created_at": "2025-05-30T17:26:24.736713+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/0b9ad667-dc39-4577-a8a5-d22b6cbbc542", "rel": "self"}, {"href": "http://localhost/allocations/0b9ad667-dc39-4577-a8a5-d22b6cbbc542", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_fails_with_bad_version [0.071884s] ... 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\": \"\"}"}
{1} ironic.tests.unit.api.controllers.v1.test_inspection_rule.TestPost.test_create_rule [0.120195s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/inspection_rules WITH {'uuid': '9a8d9eac-8972-41c8-91ef-8cf11ced5ca7', '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/9a8d9eac-8972-41c8-91ef-8cf11ced5ca7
Openstack-Request-Id: req-667018d5-9fa9-4aad-b3e3-712964b2754c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "9a8d9eac-8972-41c8-91ef-8cf11ced5ca7", "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/9a8d9eac-8972-41c8-91ef-8cf11ced5ca7", "rel": "self"}, {"href": "http://localhost/inspection/9a8d9eac-8972-41c8-91ef-8cf11ced5ca7", "rel": "bookmark"}]}
GET /v1/inspection_rules/9a8d9eac-8972-41c8-91ef-8cf11ced5ca7 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-e6848fbd-56a7-4048-b317-a56bd4086bd3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "9a8d9eac-8972-41c8-91ef-8cf11ced5ca7", "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/9a8d9eac-8972-41c8-91ef-8cf11ced5ca7", "rel": "self"}, {"href": "http://localhost/inspection/9a8d9eac-8972-41c8-91ef-8cf11ced5ca7", "rel": "bookmark"}]}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation [0.098462s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '07a851d9-1b8c-4e7c-887d-61a821b5649c', 'owner': None} GOT Response: 201 Created
Content-Type: application/json
Location: http://localhost/v1/allocations/07a851d9-1b8c-4e7c-887d-61a821b5649c
Openstack-Request-Id: req-d51d97d0-9036-4e55-b3a0-712fe60fa8e1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "07a851d9-1b8c-4e7c-887d-61a821b5649c", "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/07a851d9-1b8c-4e7c-887d-61a821b5649c", "rel": "self"}, {"href": "http://localhost/allocations/07a851d9-1b8c-4e7c-887d-61a821b5649c", "rel": "bookmark"}], "node_uuid": null}
GET /v1/allocations/07a851d9-1b8c-4e7c-887d-61a821b5649c WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-82df56d5-9427-4d7f-bdf9-f15168cc0372
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "07a851d9-1b8c-4e7c-887d-61a821b5649c", "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/07a851d9-1b8c-4e7c-887d-61a821b5649c", "rel": "self"}, {"href": "http://localhost/allocations/07a851d9-1b8c-4e7c-887d-61a821b5649c", "rel": "bookmark"}], "node_uuid": null}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found_by_name [0.568962s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/foo GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-21a36c55-df89-4f05-8f1f-e71f5e5e3bb6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node.TestBIOS.test_get_all_bios_with_detail [0.094172s] ... 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-9a49141e-7518-4122-9e4e-a259b4d7fa57
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.74
{"bios": [{"created_at": "2025-05-30T17:26:24.884313+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"}]}]}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_candidate_node_invalid [0.070020s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/allocations WITH {'candidate_nodes': ['this/is/not a/node/name'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'fdb086a4-40b7-4ac1-85c0-51ddb8dcf7c7', 'owner': None} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-f297ee6c-2ccd-4aa7-afd4-12f6c142b563
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: this/is/not a/node/name\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_inspection_rule.TestPost.test_create_rule_generate_uuid [0.104305s] ... 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/0e643f6a-4e73-402d-bf94-aa1be92c3634
Openstack-Request-Id: req-aaa7f066-b5be-4bfb-933a-ff27740060c9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "0e643f6a-4e73-402d-bf94-aa1be92c3634", "created_at": "2025-05-30T17:26:24.909108+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/0e643f6a-4e73-402d-bf94-aa1be92c3634", "rel": "self"}, {"href": "http://localhost/inspection/0e643f6a-4e73-402d-bf94-aa1be92c3634", "rel": "bookmark"}]}
GET /v1/inspection_rules/0e643f6a-4e73-402d-bf94-aa1be92c3634 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-fe7e2561-e478-4d95-844c-13e00eab3ffd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "0e643f6a-4e73-402d-bf94-aa1be92c3634", "created_at": "2025-05-30T17:26:24.909108+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/0e643f6a-4e73-402d-bf94-aa1be92c3634", "rel": "self"}, {"href": "http://localhost/inspection/0e643f6a-4e73-402d-bf94-aa1be92c3634", "rel": "bookmark"}]}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found_by_name_unsupported [0.096572s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/foo GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-f1521f37-5409-4402-9c6a-2280ee285eb8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_bios_detail_and_fields [0.081722s] ... 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-d1382417-d747-4eb5-9927-6f85aeaae247
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_candidate_node_not_found [0.085385s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/allocations WITH {'candidate_nodes': ['1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '621b2e93-2330-45a8-a8cc-eab5f9daf8ab', 'owner': None} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-ccd6fbec-3d0d-46b8-815f-c7a115d9bcfb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_inspection_rule.TestPost.test_create_rule_with_optional_args [0.081029s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/inspection_rules WITH {'uuid': 'd7a220a5-fd84-4a7f-9e12-133b8dca1181', '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/d7a220a5-fd84-4a7f-9e12-133b8dca1181
Openstack-Request-Id: req-2fcc55a9-3692-4a5d-89fe-7c025cc97bb1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "d7a220a5-fd84-4a7f-9e12-133b8dca1181", "created_at": "2025-05-30T17:26:25.010932+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/d7a220a5-fd84-4a7f-9e12-133b8dca1181", "rel": "self"}, {"href": "http://localhost/inspection/d7a220a5-fd84-4a7f-9e12-133b8dca1181", "rel": "bookmark"}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_bios_fields [0.095401s] ... 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-7b75d592-a387-4050-b907-aafe6311b814
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.74
{"bios": [{"created_at": "2025-05-30T17:26:25.057371+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_doesnt_contain_id [0.100440s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {'foo': 123}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'eb7f59fb-4b0e-4eee-a1f7-287b096cdfe6', 'owner': None} GOT Response: 201 Created
Content-Type: application/json
Location: http://localhost/v1/allocations/eb7f59fb-4b0e-4eee-a1f7-287b096cdfe6
Openstack-Request-Id: req-411c934e-e571-4b5e-a82a-4b96ccc262cc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "eb7f59fb-4b0e-4eee-a1f7-287b096cdfe6", "created_at": "2025-05-30T17:26:25.096966+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/eb7f59fb-4b0e-4eee-a1f7-287b096cdfe6", "rel": "self"}, {"href": "http://localhost/allocations/eb7f59fb-4b0e-4eee-a1f7-287b096cdfe6", "rel": "bookmark"}], "node_uuid": null}
GET /v1/allocations/eb7f59fb-4b0e-4eee-a1f7-287b096cdfe6 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-e49aa6bd-fb33-4b72-bac1-689593a186fb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "eb7f59fb-4b0e-4eee-a1f7-287b096cdfe6", "created_at": "2025-05-30T17:26:25.096966+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/eb7f59fb-4b0e-4eee-a1f7-287b096cdfe6", "rel": "self"}, {"href": "http://localhost/allocations/eb7f59fb-4b0e-4eee-a1f7-287b096cdfe6", "rel": "bookmark"}], "node_uuid": null}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_associated_nodes_error [0.116771s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?associated=blah WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-5ba765e4-e7c7-4868-b206-aba81d91f6af
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_portgroup_subresource [0.187924s] ... 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-68e992f0-af8a-4aa9-837b-920336f1a568
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.controllers.v1.test_node.TestBIOS.test_get_bios_fields_old_version [0.078817s] ... 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-788af3c7-8716-4bbd-96cc-70e691409a69
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_error [0.076764s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '0c5f2b1c-38c9-439f-9a8c-21bd236d4b1c', 'owner': None} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-e67c9460-e23c-4514-8239-7b5bbdbc60e6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios [0.098906s] ... 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-c8d07ac7-d653-493f-b636-4dfc8153359e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.74
{"virtualization": {"created_at": "2025-05-30T17:26:25.241714+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_node.TestListNodes.test_associated_nodes_insensitive [0.148177s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?associated=true WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-be2b612b-7b90-4539-b0f7-f7ee8907c815
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"nodes": [{"uuid": "4821435d-5246-4a59-80f7-327ef4c691ad", "instance_uuid": "82ca8e13-3d81-407f-82be-e61e1bf8bea0", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/4821435d-5246-4a59-80f7-327ef4c691ad", "rel": "self"}, {"href": "http://localhost/nodes/4821435d-5246-4a59-80f7-327ef4c691ad", "rel": "bookmark"}]}, {"uuid": "0b5f47d3-22d9-41db-ab32-e5a8e0dd901c", "instance_uuid": "98b23b72-ad71-493e-a60d-4afbe66a38f9", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/0b5f47d3-22d9-41db-ab32-e5a8e0dd901c", "rel": "self"}, {"href": "http://localhost/nodes/0b5f47d3-22d9-41db-ab32-e5a8e0dd901c", "rel": "bookmark"}]}, {"uuid": "baaf9c91-5a84-427e-863f-a0f64836fde5", "instance_uuid": "ad7e4489-7637-4d13-923f-4fb00bdbc129", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/baaf9c91-5a84-427e-863f-a0f64836fde5", "rel": "self"}, {"href": "http://localhost/nodes/baaf9c91-5a84-427e-863f-a0f64836fde5", "rel": "bookmark"}]}, {"uuid": "bc904919-29b8-4c67-b416-a75c8ed6669a", "instance_uuid": "fd2acb43-4152-4391-a987-d6ec5772c592", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/bc904919-29b8-4c67-b416-a75c8ed6669a", "rel": "self"}, {"href": "http://localhost/nodes/bc904919-29b8-4c67-b416-a75c8ed6669a", "rel": "bookmark"}]}]}
GET /v1/nodes?associated=True WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-2fabc23b-5e0b-4f82-9b3f-c2ac6f5d2cf7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"nodes": [{"uuid": "4821435d-5246-4a59-80f7-327ef4c691ad", "instance_uuid": "82ca8e13-3d81-407f-82be-e61e1bf8bea0", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/4821435d-5246-4a59-80f7-327ef4c691ad", "rel": "self"}, {"href": "http://localhost/nodes/4821435d-5246-4a59-80f7-327ef4c691ad", "rel": "bookmark"}]}, {"uuid": "0b5f47d3-22d9-41db-ab32-e5a8e0dd901c", "instance_uuid": "98b23b72-ad71-493e-a60d-4afbe66a38f9", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/0b5f47d3-22d9-41db-ab32-e5a8e0dd901c", "rel": "self"}, {"href": "http://localhost/nodes/0b5f47d3-22d9-41db-ab32-e5a8e0dd901c", "rel": "bookmark"}]}, {"uuid": "baaf9c91-5a84-427e-863f-a0f64836fde5", "instance_uuid": "ad7e4489-7637-4d13-923f-4fb00bdbc129", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/baaf9c91-5a84-427e-863f-a0f64836fde5", "rel": "self"}, {"href": "http://localhost/nodes/baaf9c91-5a84-427e-863f-a0f64836fde5", "rel": "bookmark"}]}, {"uuid": "bc904919-29b8-4c67-b416-a75c8ed6669a", "instance_uuid": "fd2acb43-4152-4391-a987-d6ec5772c592", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/bc904919-29b8-4c67-b416-a75c8ed6669a", "rel": "self"}, {"href": "http://localhost/nodes/bc904919-29b8-4c67-b416-a75c8ed6669a", "rel": "bookmark"}]}]}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_generate_uuid [0.096450s] ... 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/38d59865-ea66-4b8f-97da-09686f98c879
Openstack-Request-Id: req-0f8b50fb-db1a-4ac9-83fa-dffaa519aacc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "38d59865-ea66-4b8f-97da-09686f98c879", "created_at": "2025-05-30T17:26:25.274326+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/38d59865-ea66-4b8f-97da-09686f98c879", "rel": "self"}, {"href": "http://localhost/allocations/38d59865-ea66-4b8f-97da-09686f98c879", "rel": "bookmark"}], "node_uuid": null}
GET /v1/allocations/38d59865-ea66-4b8f-97da-09686f98c879 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-10373026-beb6-425a-936e-116a4704733a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "38d59865-ea66-4b8f-97da-09686f98c879", "created_at": "2025-05-30T17:26:25.274326+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/38d59865-ea66-4b8f-97da-09686f98c879", "rel": "self"}, {"href": "http://localhost/allocations/38d59865-ea66-4b8f-97da-09686f98c879", "rel": "bookmark"}], "node_uuid": null}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_ports_subresource [0.139364s] ... 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-199b6b44-c555-43a0-a877-174ba74ec878
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_allocation.TestPost.test_create_allocation_invalid_api_version [0.076175s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '29d71197-fa0c-4f37-941d-893d6bc8caba', '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\"}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios_fails_if_not_found [0.102255s] ... 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-ea6fb38b-f2d8-4856-b481-b8e3458cd24f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node.TestListNodes.test_collection_links [0.128342s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/?limit=3 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-63ce566c-f867-4eff-bff4-539ad5633e6f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"nodes": [{"uuid": "a0249d52-778b-4e68-9737-59f7cdd6f812", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/a0249d52-778b-4e68-9737-59f7cdd6f812", "rel": "self"}, {"href": "http://localhost/nodes/a0249d52-778b-4e68-9737-59f7cdd6f812", "rel": "bookmark"}]}, {"uuid": "7c3fa4da-4ba5-4f49-bac1-2fe1e5fa58f9", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/7c3fa4da-4ba5-4f49-bac1-2fe1e5fa58f9", "rel": "self"}, {"href": "http://localhost/nodes/7c3fa4da-4ba5-4f49-bac1-2fe1e5fa58f9", "rel": "bookmark"}]}, {"uuid": "b7a245d6-4bc7-42e5-bb4f-043c90144714", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/b7a245d6-4bc7-42e5-bb4f-043c90144714", "rel": "self"}, {"href": "http://localhost/nodes/b7a245d6-4bc7-42e5-bb4f-043c90144714", "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=b7a245d6-4bc7-42e5-bb4f-043c90144714"}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_ports_subresource_no_port_id [0.120672s] ... 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-4fee0878-8116-411d-94a2-9d9541eab2a7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_candidate_node_format [0.081141s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/allocations WITH {'candidate_nodes': ['invalid-format'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'ff508b54-5e50-4841-ab0f-2916d834843e', 'owner': None} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-fa151725-19f8-4b63-a3f3-09242ff15c9d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: invalid-format\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios_fails_with_bad_version [0.071267s] ... 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_node.TestListNodes.test_collection_links_custom_fields [0.102479s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?fields=driver_info,uuid WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-5a3372ec-d83f-4f70-a95d-685e110819e8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"nodes": [{"uuid": "01a1f61a-b826-4cda-820e-e8e2211562be", "driver_info": {"fake": "value"}, "links": [{"href": "http://localhost/v1/nodes/01a1f61a-b826-4cda-820e-e8e2211562be", "rel": "self"}, {"href": "http://localhost/nodes/01a1f61a-b826-4cda-820e-e8e2211562be", "rel": "bookmark"}]}, {"uuid": "5cafd683-fffa-43bc-b08e-711571efa95b", "driver_info": {"fake": "value"}, "links": [{"href": "http://localhost/v1/nodes/5cafd683-fffa-43bc-b08e-711571efa95b", "rel": "self"}, {"href": "http://localhost/nodes/5cafd683-fffa-43bc-b08e-711571efa95b", "rel": "bookmark"}]}, {"uuid": "95799e9f-0d62-4eaf-99fe-978f9a716e4a", "driver_info": {"fake": "value"}, "links": [{"href": "http://localhost/v1/nodes/95799e9f-0d62-4eaf-99fe-978f9a716e4a", "rel": "self"}, {"href": "http://localhost/nodes/95799e9f-0d62-4eaf-99fe-978f9a716e4a", "rel": "bookmark"}]}], "next": "http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=driver_info,uuid&limit=3&marker=95799e9f-0d62-4eaf-99fe-978f9a716e4a"}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_trait [0.079466s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': ['CUSTOM_GPU', 'FOO_BAR'], 'uuid': '2500aa6a-80a1-4b5a-ae84-1f55f5463a7c', 'owner': None} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-522a56a5-7251-4981-b898-4cfb57eef6f5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}"}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_connectors_subresource [0.102818s] ... 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-37e28722-dd0a-449f-9168-7b8d0bb3c7eb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios_no_registry [0.097996s] ... 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-11fa6281-bdf1-45b9-81df-83d7275234f2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.73
{"virtualization": {"created_at": "2025-05-30T17:26:25.522669+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"}]}}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_connectors_subresource_no_connector_id [0.079467s] ... 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-470aac15-fba1-4eb4-a858-ff658906e940
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: connector_uuid\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeChildrenTestCase.test_get_child_node [0.070640s] ... 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-39146f65-bc1e-44b9-bb60-52cdc03c8806
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.83
{"children": ["e06d08a3-f0de-4bdb-b9ee-e1250f330bbd"], "links": {"href": "http://localhost/v1/nodes?parent_node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "children"}}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_name_invalid [0.083189s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': 'aa:bb_cc', 'resource_class': 'baremetal', 'traits': [], 'uuid': 'ddbfff21-4aa2-42bd-91f9-78390928ebdb', 'owner': None} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-2bf5f2fd-7b5d-414e-9405-a1a2953a9250
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot create allocation with invalid name 'aa:bb_cc'\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_default_limit [0.141916s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-33e07ff7-73e7-40ff-b059-fd2f6e19921d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"nodes": [{"uuid": "1bac5619-502c-4cbc-ae3d-e6c88de1c5ef", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1bac5619-502c-4cbc-ae3d-e6c88de1c5ef", "rel": "self"}, {"href": "http://localhost/nodes/1bac5619-502c-4cbc-ae3d-e6c88de1c5ef", "rel": "bookmark"}]}, {"uuid": "b3fdffd3-1092-43a0-91a0-d3d5f6506b49", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/b3fdffd3-1092-43a0-91a0-d3d5f6506b49", "rel": "self"}, {"href": "http://localhost/nodes/b3fdffd3-1092-43a0-91a0-d3d5f6506b49", "rel": "bookmark"}]}, {"uuid": "30bf2a9b-3dc5-4f18-b5d0-4e89faea24e6", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/30bf2a9b-3dc5-4f18-b5d0-4e89faea24e6", "rel": "self"}, {"href": "http://localhost/nodes/30bf2a9b-3dc5-4f18-b5d0-4e89faea24e6", "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=30bf2a9b-3dc5-4f18-b5d0-4e89faea24e6"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeChildrenTestCase.test_list_node_children_by_single_node [0.085395s] ... 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-6d336ba9-3238-40e4-bbb7-bc6aef611a02
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.83
{"children": ["22b51f09-41f6-427d-a45d-14bafcbbe0ef", "1ec3cc52-608f-4e96-a097-ce8815f14ae4"], "links": {"href": "http://localhost/v1/nodes?parent_node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "children"}}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_targets_subresource [0.112050s] ... 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-761c7966-73ab-4012-bf2f-f96abc4e7acd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeChildrenTestCase.test_list_nodes [0.046258s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/ WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-60936c19-28cf-4f35-9851-5b94bf914422
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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"}]}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeChildrenTestCase.test_list_nodes_cannot_see_children_if_not_owned [0.062015s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/?parent_node=34357c3d-8b43-47ef-88b0-7880fa0b2b4d WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-75e240eb-4b68-47b7-a32c-9a3c661abab3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.83
{"nodes": []}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_name_ok [0.194188s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': 'foo', 'resource_class': 'baremetal', 'traits': [], 'uuid': 'fa666a75-53ec-4767-8d6d-f3cbdeb703bd', 'owner': None} GOT Response: 201 Created
Content-Type: application/json
Location: http://localhost/v1/allocations/fa666a75-53ec-4767-8d6d-f3cbdeb703bd
Openstack-Request-Id: req-9e6ac5a3-0779-4a9c-8134-f97c4128be63
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "fa666a75-53ec-4767-8d6d-f3cbdeb703bd", "created_at": "2025-05-30T17:26:25.783913+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/fa666a75-53ec-4767-8d6d-f3cbdeb703bd", "rel": "self"}, {"href": "http://localhost/allocations/fa666a75-53ec-4767-8d6d-f3cbdeb703bd", "rel": "bookmark"}], "node_uuid": null}
GET /v1/allocations/fa666a75-53ec-4767-8d6d-f3cbdeb703bd WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-97a9c6bf-e39b-44ff-b84a-d076588bc5e7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "fa666a75-53ec-4767-8d6d-f3cbdeb703bd", "created_at": "2025-05-30T17:26:25.783913+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/fa666a75-53ec-4767-8d6d-f3cbdeb703bd", "rel": "self"}, {"href": "http://localhost/allocations/fa666a75-53ec-4767-8d6d-f3cbdeb703bd", "rel": "bookmark"}], "node_uuid": null}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeFirmwareComponent.test_get_all_firmware_components [0.106914s] ... 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-b271a52a-781e-4e61-a132-94aaf08bbf0d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.86
{"firmware": [{"created_at": "2025-05-30T17:26:25.801254+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-30T17:26:25.799970+00:00", "updated_at": null, "component": "bmc", "initial_version": "v1.0.0", "current_version": "v1.0.0", "last_version_flashed": null}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeChildrenTestCase.test_list_nodes_ignores_parent_if_include_children_indicated [0.048592s] ... 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-7d80bdcf-6336-425c-9f25-2c2ab1bf7014
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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": "b8ca0621-5cfd-46d5-a61b-529d87b6eec1", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": "not-yoda", "links": [{"href": "http://localhost/v1/nodes/b8ca0621-5cfd-46d5-a61b-529d87b6eec1", "rel": "self"}, {"href": "http://localhost/nodes/b8ca0621-5cfd-46d5-a61b-529d87b6eec1", "rel": "bookmark"}]}]}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_instance_uuid_param [0.197581s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?instance_uuid=3a0a4f32-050a-4085-a79f-1bfded0bc933 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-335304f4-f9f8-4f9e-9b45-b436e44217ca
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"nodes": [{"uuid": "9a621a73-03e0-48cd-8629-24581566177e", "instance_uuid": "3a0a4f32-050a-4085-a79f-1bfded0bc933", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/9a621a73-03e0-48cd-8629-24581566177e", "rel": "self"}, {"href": "http://localhost/nodes/9a621a73-03e0-48cd-8629-24581566177e", "rel": "bookmark"}]}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeChildrenTestCase.test_list_nodes_lists_empty_for_specific_parent [0.042114s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/?parent_node=f41cdd1d-073b-4229-90d9-291ea7fcbb37 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-575b61cf-e5c3-4580-9211-1bb062eefbbf
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.83
{"nodes": []}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeFirmwareComponent.test_wrong_version_get_all_firmware_components_old_version [0.101124s] ... 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\": \"\"}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeChildrenTestCase.test_list_nodes_with_children_only_parent [0.058118s] ... 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-489e6c54-c95a-47fd-9639-f29ae89b889c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.83
{"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "lessee": "c8027c4d-1264-4163-b6ad-2f66e316e3cf", "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_allocation.TestPost.test_create_allocation_no_mandatory_field_resource_class [0.127680s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'traits': [], 'uuid': '1c58bffc-d987-4e49-8745-ff2cb12515ee', 'owner': None} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-387c6feb-db92-49f0-a4d7-d5f1930165b5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The resource_class field is mandatory when not backfilling\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeChildrenTestCase.test_list_nodes_with_include_children [0.043922s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/?include_children=True WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-581b2ba6-116f-4c39-876e-1e12938759b8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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": "f0bb3845-0493-4904-aa3b-2e444b24a4ed", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": "not-yoda", "links": [{"href": "http://localhost/v1/nodes/f0bb3845-0493-4904-aa3b-2e444b24a4ed", "rel": "self"}, {"href": "http://localhost/nodes/f0bb3845-0493-4904-aa3b-2e444b24a4ed", "rel": "bookmark"}]}]}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail [0.148034s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/detail WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-ec097797-3f81-416d-8ea8-63e2776e7129
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:26:25.972241+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_allocation.TestPost.test_create_allocation_owner [0.095881s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '4c2850e1-9316-481d-8d3d-ad74a22a4c5f', 'owner': '12345'} GOT Response: 201 Created
Content-Type: application/json
Location: http://localhost/v1/allocations/4c2850e1-9316-481d-8d3d-ad74a22a4c5f
Openstack-Request-Id: req-613c15bb-33f8-43a3-af05-1f416a2eeb20
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "4c2850e1-9316-481d-8d3d-ad74a22a4c5f", "created_at": "2025-05-30T17:26:26.063957+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/4c2850e1-9316-481d-8d3d-ad74a22a4c5f", "rel": "self"}, {"href": "http://localhost/allocations/4c2850e1-9316-481d-8d3d-ad74a22a4c5f", "rel": "bookmark"}], "node_uuid": null}
GET /v1/allocations/4c2850e1-9316-481d-8d3d-ad74a22a4c5f WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-03f7ce05-24a6-46dd-a09c-9cc46aeb9aff
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "4c2850e1-9316-481d-8d3d-ad74a22a4c5f", "created_at": "2025-05-30T17:26:26.063957+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/4c2850e1-9316-481d-8d3d-ad74a22a4c5f", "rel": "self"}, {"href": "http://localhost/allocations/4c2850e1-9316-481d-8d3d-ad74a22a4c5f", "rel": "bookmark"}], "node_uuid": null}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_against_single [0.067417s] ... 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-7b58c76e-3399-480a-9b0f-6707838405e5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.api.controllers.v1.test_node.TestNodeShardPatch.test_node_add_shard [0.094418s] ... 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-00e476d7-9e1e-4378-a120-b1098c9dc47d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:26.043809+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"}]}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_history [0.166675s] ... 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-3e082cd0-0145-4784-9023-838428a1501f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.78
{"history": []}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardPatch.test_node_add_shard_fail_wrong_version [0.039075s] ... 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-8e83173f-f641-4a60-85d7-0d7c3564ed3c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner_auto_filled [0.093226s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'e155dda5-6b91-4e9f-bed6-409f7bd7b130', 'owner': None} GOT Response: 201 Created
Content-Type: application/json
Location: http://localhost/v1/allocations/e155dda5-6b91-4e9f-bed6-409f7bd7b130
Openstack-Request-Id: req-de0a7429-7715-423b-83d1-9a232938532e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "e155dda5-6b91-4e9f-bed6-409f7bd7b130", "created_at": "2025-05-30T17:26:26.158144+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/e155dda5-6b91-4e9f-bed6-409f7bd7b130", "rel": "self"}, {"href": "http://localhost/allocations/e155dda5-6b91-4e9f-bed6-409f7bd7b130", "rel": "bookmark"}], "node_uuid": null}
GET /v1/allocations/e155dda5-6b91-4e9f-bed6-409f7bd7b130 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-da766e77-ad21-4c01-862c-edc1b8ccce59
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "e155dda5-6b91-4e9f-bed6-409f7bd7b130", "created_at": "2025-05-30T17:26:26.158144+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/e155dda5-6b91-4e9f-bed6-409f7bd7b130", "rel": "self"}, {"href": "http://localhost/allocations/e155dda5-6b91-4e9f-bed6-409f7bd7b130", "rel": "bookmark"}], "node_uuid": null}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_forbidden [0.082376s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/detail WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-8fe0b58a-57e1-4041-8704-82eba7e67a1e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node.TestPut.test_abort_cleanhold [0.089546s] ... 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-183e3c13-bdaa-4018-b2c1-71720957eae6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.85
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner_not_allowed [0.064359s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'ef4bd37c-67ae-45d3-b99b-fc9045e9508f', 'owner': '12345'} GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-8e422ce8-3f6e-4ba4-a323-ec6e2a4d6b92
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node.TestListNodes.test_detail_instance_uuid [0.091279s] ... 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-a0a37168-3a1a-4bbd-a324-1a30459024a9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:26:26.250192+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.TestNodeHistory.test_get_all_history_returns_detail [0.170566s] ... 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-ef23c571-c719-4322-b237-56984f0109dd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.78
{"history": [{"uuid": "eafb1c26-f5db-45ec-ab5d-f2fd79548cfd", "created_at": "2025-05-30T17:26:26.242708+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/eafb1c26-f5db-45ec-ab5d-f2fd79548cfd", "rel": "self"}]}, {"uuid": "a11784b0-a908-4cc7-9362-4a8fda6d3980", "created_at": "2025-05-30T17:26:26.244061+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/a11784b0-a908-4cc7-9362-4a8fda6d3980", "rel": "self"}]}, {"uuid": "3f812b5a-4ab0-4979-a1bb-47b58b3a02ca", "created_at": "2025-05-30T17:26:26.251754+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/3f812b5a-4ab0-4979-a1bb-47b58b3a02ca", "rel": "self"}]}]}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner_not_my_projet_id [0.055469s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '55e5053b-d599-4ffa-90f7-a14f39e0576d', 'owner': '12345'} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-216683ab-5279-40a5-8bfe-e4151db8f105
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}"}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_resource_class_too_long [0.036603s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'traits': [], 'uuid': '49195fdc-9446-4bd9-a41f-20ba2bf1ee32', 'owner': None} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-66e34c7b-5e83-4831-89f7-f0d0ea7b22a8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for allocation: 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff' is too long\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_cleanwait [0.119323s] ... 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-78453694-4c40-4bd6-93e7-b85062634f90
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.13
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_instance_uuid_project_match [0.103906s] ... 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-a055412e-657f-446d-b76d-22abb1c21149
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:26:26.359941+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_allocation.TestPost.test_create_allocation_valid_extra [0.040425s] ... 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': '3da27a53-6ce8-471b-8017-4f301edaf969', 'owner': None} GOT Response: 201 Created
Content-Type: application/json
Location: http://localhost/v1/allocations/3da27a53-6ce8-471b-8017-4f301edaf969
Openstack-Request-Id: req-ec1cfccb-a17f-46cb-8fae-cac53f36e471
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "3da27a53-6ce8-471b-8017-4f301edaf969", "created_at": "2025-05-30T17:26:26.390052+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/3da27a53-6ce8-471b-8017-4f301edaf969", "rel": "self"}, {"href": "http://localhost/allocations/3da27a53-6ce8-471b-8017-4f301edaf969", "rel": "bookmark"}], "node_uuid": null}
GET /v1/allocations/3da27a53-6ce8-471b-8017-4f301edaf969 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-f06b860f-1c48-42b6-8c34-d2686321b2b2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "3da27a53-6ce8-471b-8017-4f301edaf969", "created_at": "2025-05-30T17:26:26.390052+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/3da27a53-6ce8-471b-8017-4f301edaf969", "rel": "self"}, {"href": "http://localhost/allocations/3da27a53-6ce8-471b-8017-4f301edaf969", "rel": "bookmark"}], "node_uuid": null}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_history_returns_entries [0.148646s] ... 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-6f197393-1551-486f-8128-8d51e554f1ec
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.78
{"history": [{"uuid": "8c2c665c-a38a-445c-a4a7-370e419fdb5b", "created_at": "2025-05-30T17:26:26.418568+00:00", "severity": null, "event": "meow", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/8c2c665c-a38a-445c-a4a7-370e419fdb5b", "rel": "self"}]}, {"uuid": "4b1a6649-62fd-4bc3-b753-4d0ca48dc3a3", "created_at": "2025-05-30T17:26:26.419402+00:00", "severity": null, "event": "purr", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/4b1a6649-62fd-4bc3-b753-4d0ca48dc3a3", "rel": "self"}]}, {"uuid": "c6a8fea8-aab7-4369-b73e-0c08aa47cd8a", "created_at": "2025-05-30T17:26:26.420143+00:00", "severity": null, "event": "grrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr...", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/c6a8fea8-aab7-4369-b73e-0c08aa47cd8a", "rel": "self"}]}]}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_candidate_nodes [0.070301s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/allocations WITH {'candidate_nodes': ['node-1', 'f9dff46a-0afb-41d4-9784-7fa0f3c014ee'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '858cea60-ca0f-4e1c-83d0-46a36de19c61', 'owner': None} GOT Response: 201 Created
Content-Type: application/json
Location: http://localhost/v1/allocations/858cea60-ca0f-4e1c-83d0-46a36de19c61
Openstack-Request-Id: req-b0e2a823-44e5-4d1f-b457-94a40b231394
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "858cea60-ca0f-4e1c-83d0-46a36de19c61", "created_at": "2025-05-30T17:26:26.461221+00:00", "updated_at": null, "candidate_nodes": ["1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "f9dff46a-0afb-41d4-9784-7fa0f3c014ee"], "extra": {}, "last_error": null, "name": null, "owner": "0987", "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/858cea60-ca0f-4e1c-83d0-46a36de19c61", "rel": "self"}, {"href": "http://localhost/allocations/858cea60-ca0f-4e1c-83d0-46a36de19c61", "rel": "bookmark"}], "node_uuid": null}
GET /v1/allocations/858cea60-ca0f-4e1c-83d0-46a36de19c61 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-c456d134-a0a6-4153-b839-6393f7ef524d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "858cea60-ca0f-4e1c-83d0-46a36de19c61", "created_at": "2025-05-30T17:26:26.461221+00:00", "updated_at": null, "candidate_nodes": ["1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "f9dff46a-0afb-41d4-9784-7fa0f3c014ee"], "extra": {}, "last_error": null, "name": null, "owner": "0987", "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/858cea60-ca0f-4e1c-83d0-46a36de19c61", "rel": "self"}, {"href": "http://localhost/allocations/858cea60-ca0f-4e1c-83d0-46a36de19c61", "rel": "bookmark"}], "node_uuid": null}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_deployhold [0.112862s] ... 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-6ffc5c86-66b5-41ff-a091-d1e7bdb074b7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.85
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_instance_uuid_project_not_match [0.094073s] ... 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-4e5140f8-a5e8-47cd-9ec3-bcaa0c829d59
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"nodes": []}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_no_extra [0.036376s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/allocations WITH {'candidate_nodes': [], 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '3b48546c-a5d7-45e6-8c92-4167c05c6c6e', 'owner': None} GOT Response: 201 Created
Content-Type: application/json
Location: http://localhost/v1/allocations/3b48546c-a5d7-45e6-8c92-4167c05c6c6e
Openstack-Request-Id: req-e294c33a-ac85-4d49-8aba-fab191b06b8c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "3b48546c-a5d7-45e6-8c92-4167c05c6c6e", "created_at": "2025-05-30T17:26:26.503199+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/3b48546c-a5d7-45e6-8c92-4167c05c6c6e", "rel": "self"}, {"href": "http://localhost/allocations/3b48546c-a5d7-45e6-8c92-4167c05c6c6e", "rel": "bookmark"}], "node_uuid": null}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_list_all_forbid_project_mismatch [0.077055s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/detail?project=54321 WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-f4e9e59c-1256-451a-9a09-938bfef81fbd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_allocation.TestPost.test_create_allocation_with_traits [0.069065s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': ['CUSTOM_GPU', 'CUSTOM_FOO_BAR'], 'uuid': '5c7cb5a5-79d0-42b5-956c-537bc2bbe44e', 'owner': None} GOT Response: 201 Created
Content-Type: application/json
Location: http://localhost/v1/allocations/5c7cb5a5-79d0-42b5-956c-537bc2bbe44e
Openstack-Request-Id: req-68d2214e-4344-4bfc-befe-3934b8478e5e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "5c7cb5a5-79d0-42b5-956c-537bc2bbe44e", "created_at": "2025-05-30T17:26:26.560173+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/5c7cb5a5-79d0-42b5-956c-537bc2bbe44e", "rel": "self"}, {"href": "http://localhost/allocations/5c7cb5a5-79d0-42b5-956c-537bc2bbe44e", "rel": "bookmark"}], "node_uuid": null}
GET /v1/allocations/5c7cb5a5-79d0-42b5-956c-537bc2bbe44e WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-6e72ea8d-69ef-40a8-8cdd-05edb3c24f24
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "5c7cb5a5-79d0-42b5-956c-537bc2bbe44e", "created_at": "2025-05-30T17:26:26.560173+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/5c7cb5a5-79d0-42b5-956c-537bc2bbe44e", "rel": "self"}, {"href": "http://localhost/allocations/5c7cb5a5-79d0-42b5-956c-537bc2bbe44e", "rel": "bookmark"}], "node_uuid": null}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_invalid_state [0.111862s] ... 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-5c69d6e2-8d36-45b6-b352-afbbf652d4a2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_history_with_sort [0.175462s] ... 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-f89c2933-f7fe-4354-bc4b-f6df1ed04467
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.78
{"history": [{"uuid": "95f28284-b5c1-4085-b7b6-bf536182bd99", "created_at": "2025-05-30T17:26:26.589244+00:00", "severity": null, "event": "grrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr...", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/95f28284-b5c1-4085-b7b6-bf536182bd99", "rel": "self"}]}, {"uuid": "b3c6dfc6-af5e-48e6-beed-3740b5492fb7", "created_at": "2025-05-30T17:26:26.588171+00:00", "severity": null, "event": "purr", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/b3c6dfc6-af5e-48e6-beed-3740b5492fb7", "rel": "self"}]}, {"uuid": "6bd71777-65e2-45ad-8aa1-ea31821893da", "created_at": "2025-05-30T17:26:26.575470+00:00", "severity": null, "event": "meow", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/6bd71777-65e2-45ad-8aa1-ea31821893da", "rel": "self"}]}]}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_by_node_not_allowed [0.062251s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'af4c71e9-d073-4367-8ba2-702fbf00e5e2', 'owner': None} GOT Response: 405 Method Not Allowed
Allow: DELETE, GET
Content-Type: application/json
{"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"\"}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_active_fails [0.110792s] ... 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-b04f9672-8eca-4bc4-9d97-dd9211cbf952
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_list_all_forbidden [0.145102s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/detail WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-1b1ffeb0-e122-4f14-b2bb-9926752b6ebe
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.65
{"nodes": [{"uuid": "9cbc53c3-f7c0-4fd8-a5dc-ba9bab806414", "created_at": "2025-05-30T17:26:26.624650+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/9cbc53c3-f7c0-4fd8-a5dc-ba9bab806414", "rel": "self"}, {"href": "http://localhost/nodes/9cbc53c3-f7c0-4fd8-a5dc-ba9bab806414", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/9cbc53c3-f7c0-4fd8-a5dc-ba9bab806414/ports", "rel": "self"}, {"href": "http://localhost/nodes/9cbc53c3-f7c0-4fd8-a5dc-ba9bab806414/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/9cbc53c3-f7c0-4fd8-a5dc-ba9bab806414/states", "rel": "self"}, {"href": "http://localhost/nodes/9cbc53c3-f7c0-4fd8-a5dc-ba9bab806414/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/9cbc53c3-f7c0-4fd8-a5dc-ba9bab806414/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/9cbc53c3-f7c0-4fd8-a5dc-ba9bab806414/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/9cbc53c3-f7c0-4fd8-a5dc-ba9bab806414/volume", "rel": "self"}, {"href": "http://localhost/nodes/9cbc53c3-f7c0-4fd8-a5dc-ba9bab806414/volume", "rel": "bookmark"}]}, {"uuid": "3adeaa1c-1f5e-402d-97ef-324e93769d69", "created_at": "2025-05-30T17:26:26.633651+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/3adeaa1c-1f5e-402d-97ef-324e93769d69", "rel": "self"}, {"href": "http://localhost/nodes/3adeaa1c-1f5e-402d-97ef-324e93769d69", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/3adeaa1c-1f5e-402d-97ef-324e93769d69/ports", "rel": "self"}, {"href": "http://localhost/nodes/3adeaa1c-1f5e-402d-97ef-324e93769d69/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/3adeaa1c-1f5e-402d-97ef-324e93769d69/states", "rel": "self"}, {"href": "http://localhost/nodes/3adeaa1c-1f5e-402d-97ef-324e93769d69/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/3adeaa1c-1f5e-402d-97ef-324e93769d69/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3adeaa1c-1f5e-402d-97ef-324e93769d69/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/3adeaa1c-1f5e-402d-97ef-324e93769d69/volume", "rel": "self"}, {"href": "http://localhost/nodes/3adeaa1c-1f5e-402d-97ef-324e93769d69/volume", "rel": "bookmark"}]}, {"uuid": "d1e7f4dd-70f2-49e9-a84c-04a805193cd8", "created_at": "2025-05-30T17:26:26.636075+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/d1e7f4dd-70f2-49e9-a84c-04a805193cd8", "rel": "self"}, {"href": "http://localhost/nodes/d1e7f4dd-70f2-49e9-a84c-04a805193cd8", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/d1e7f4dd-70f2-49e9-a84c-04a805193cd8/ports", "rel": "self"}, {"href": "http://localhost/nodes/d1e7f4dd-70f2-49e9-a84c-04a805193cd8/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d1e7f4dd-70f2-49e9-a84c-04a805193cd8/states", "rel": "self"}, {"href": "http://localhost/nodes/d1e7f4dd-70f2-49e9-a84c-04a805193cd8/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d1e7f4dd-70f2-49e9-a84c-04a805193cd8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d1e7f4dd-70f2-49e9-a84c-04a805193cd8/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d1e7f4dd-70f2-49e9-a84c-04a805193cd8/volume", "rel": "self"}, {"href": "http://localhost/nodes/d1e7f4dd-70f2-49e9-a84c-04a805193cd8/volume", "rel": "bookmark"}]}, {"uuid": "e2773690-5d74-4669-9719-54008e6df7a2", "created_at": "2025-05-30T17:26:26.644097+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/e2773690-5d74-4669-9719-54008e6df7a2", "rel": "self"}, {"href": "http://localhost/nodes/e2773690-5d74-4669-9719-54008e6df7a2", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e2773690-5d74-4669-9719-54008e6df7a2/ports", "rel": "self"}, {"href": "http://localhost/nodes/e2773690-5d74-4669-9719-54008e6df7a2/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e2773690-5d74-4669-9719-54008e6df7a2/states", "rel": "self"}, {"href": "http://localhost/nodes/e2773690-5d74-4669-9719-54008e6df7a2/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e2773690-5d74-4669-9719-54008e6df7a2/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e2773690-5d74-4669-9719-54008e6df7a2/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e2773690-5d74-4669-9719-54008e6df7a2/volume", "rel": "self"}, {"href": "http://localhost/nodes/e2773690-5d74-4669-9719-54008e6df7a2/volume", "rel": "bookmark"}]}, {"uuid": "dfe0d70a-d2be-47bf-868e-ef905b2aa2d5", "created_at": "2025-05-30T17:26:26.645718+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/dfe0d70a-d2be-47bf-868e-ef905b2aa2d5", "rel": "self"}, {"href": "http://localhost/nodes/dfe0d70a-d2be-47bf-868e-ef905b2aa2d5", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/dfe0d70a-d2be-47bf-868e-ef905b2aa2d5/ports", "rel": 
    "self"}, {"href": "http://localhost/nodes/dfe0d70a-d2be-47bf-868e-ef905b2aa2d5/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/dfe0d70a-d2be-47bf-868e-ef905b2aa2d5/states", "rel": "self"}, {"href": "http://localhost/nodes/dfe0d70a-d2be-47bf-868e-ef905b2aa2d5/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/dfe0d70a-d2be-47bf-868e-ef905b2aa2d5/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/dfe0d70a-d2be-47bf-868e-ef905b2aa2d5/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/dfe0d70a-d2be-47bf-868e-ef905b2aa2d5/volume", "rel": "self"}, {"href": "http://localhost/nodes/dfe0d70a-d2be-47bf-868e-ef905b2aa2d5/volume", "rel": "bookmark"}]}, {"uuid": "afdf07ff-0e2e-4a25-b9ac-06b11d75bf9c", "created_at": "2025-05-30T17:26:26.647233+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/afdf07ff-0e2e-4a25-b9ac-06b11d75bf9c", "rel": "self"}, {"href": "http://localhost/nodes/afdf07ff-0e2e-4a25-b9ac-06b11d75bf9c", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/afdf07ff-0e2e-4a25-b9ac-06b11d75bf9c/ports", "rel": "self"}, {"href": "http://localhost/nodes/afdf07ff-0e2e-4a25-b9ac-06b11d75bf9c/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/afdf07ff-0e2e-4a25-b9ac-06b11d75bf9c/states", "rel": "self"}, {"href": "http://localhost/nodes/afdf07ff-0e2e-4a25-b9ac-06b11d75bf9c/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/afdf07ff-0e2e-4a25-b9ac-06b11d75bf9c/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/afdf07ff-0e2e-4a25-b9ac-06b11d75bf9c/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/afdf07ff-0e2e-4a25-b9ac-06b11d75bf9c/volume", "rel": "self"}, {"href": "http://localhost/nodes/afdf07ff-0e2e-4a25-b9ac-06b11d75bf9c/volume", "rel": "bookmark"}]}]}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_node_uuid_not_allowed [0.093059s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'ac12a70a-7ce1-476e-85d3-efe18b2986ec', 'owner': None, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-5ed503b8-3080-445c-a4c9-b671dc9eae7c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.TestNodeHistory.test_get_all_old_version [0.130466s] ... 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_detail_list_all_forbidden_no_project [0.080512s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/detail WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-c8ee1321-938e-4d11-8572-7fa91160f6e5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_adoptfail [0.117358s] ... 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-8d483e14-2158-4032-a118-ebd777921172
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.17
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_deprecated_without_owner [0.134286s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '10251736-75a2-4864-acf6-68e54e4637a2', 'owner': None} GOT Response: 201 Created
Content-Type: application/json
Location: http://localhost/v1/allocations/10251736-75a2-4864-acf6-68e54e4637a2
Openstack-Request-Id: req-fca015ce-0525-4c6b-9faf-92c5dae73fbc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.60
{"uuid": "10251736-75a2-4864-acf6-68e54e4637a2", "created_at": "2025-05-30T17:26:26.850597+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/10251736-75a2-4864-acf6-68e54e4637a2", "rel": "self"}, {"href": "http://localhost/allocations/10251736-75a2-4864-acf6-68e54e4637a2", "rel": "bookmark"}], "node_uuid": null}
GET /v1/allocations/10251736-75a2-4864-acf6-68e54e4637a2 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-f932e1c7-f65a-4a9f-a9d8-0aec9fae68db
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.60
{"uuid": "10251736-75a2-4864-acf6-68e54e4637a2", "created_at": "2025-05-30T17:26:26.850597+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/10251736-75a2-4864-acf6-68e54e4637a2", "rel": "self"}, {"href": "http://localhost/allocations/10251736-75a2-4864-acf6-68e54e4637a2", "rel": "bookmark"}], "node_uuid": null}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_query_false [0.128173s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-e9a75e38-5bd7-4998-96e1-d22795bc333d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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-0728e30e-a76d-475b-8073-b067991d3837
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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"}]}]}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_pagination [0.169881s] ... 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-43352a67-1104-4414-ac6c-e7c397a7ccc8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.78
{"history": [{"uuid": "cc1b0932-720b-4e5d-a839-1e1ab72605fe", "created_at": "2025-05-30T17:26:26.866644+00:00", "severity": null, "event": "meow", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/cc1b0932-720b-4e5d-a839-1e1ab72605fe", "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=cc1b0932-720b-4e5d-a839-1e1ab72605fe"}
GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?limit=1&marker=cc1b0932-720b-4e5d-a839-1e1ab72605fe WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-b16d1e55-3ec5-47ba-9870-847306495198
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.78
{"history": [{"uuid": "3e71b4fd-1cd7-4ce2-b185-7ec8b43f66e0", "created_at": "2025-05-30T17:26:26.867447+00:00", "severity": null, "event": "purr", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/3e71b4fd-1cd7-4ce2-b185-7ec8b43f66e0", "rel": "self"}]}], "next": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?marker=NodeHistory(conductor='cat-tree1',created_at=2025-05-30T17:26:26Z,event='meow',event_type=None,id=1,node_id=1,severity=None,updated_at=None,user='peaches',uuid=cc1b0932-720b-4e5d-a839-1e1ab72605fe)&sort_key=created_at&sort_dir=asc&fields=uuid,created_at,severity,event&limit=1&marker=3e71b4fd-1cd7-4ce2-b185-7ec8b43f66e0"}
GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?limit=1&marker=3e71b4fd-1cd7-4ce2-b185-7ec8b43f66e0 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-391d7125-ba54-4149-a7d2-8371196285e3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.78
{"history": [{"uuid": "479f94f1-9588-44ff-878a-dc1eddfd0642", "created_at": "2025-05-30T17:26:26.868191+00:00", "severity": null, "event": "grrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr...", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/479f94f1-9588-44ff-878a-dc1eddfd0642", "rel": "self"}]}], "next": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?marker=NodeHistory(conductor='cat-tree2',created_at=2025-05-30T17:26:26Z,event='purr',event_type=None,id=2,node_id=1,severity=None,updated_at=None,user='sage',uuid=3e71b4fd-1cd7-4ce2-b185-7ec8b43f66e0)&sort_key=created_at&sort_dir=asc&fields=uuid,created_at,severity,event&limit=1&marker=479f94f1-9588-44ff-878a-dc1eddfd0642"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_manage [0.146072s] ... 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-80cad1eb-a0fa-4029-8d9c-a68a9b772064
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.17
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_forbidden [0.130157s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '8a701070-f991-4602-927f-32cc9ab7403a', 'owner': None} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-d48935e4-d8f1-4638-88a2-a10bf0bdf3d1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node.TestListNodes.test_detail_snmpv3 [0.129051s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/detail WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-de5a954f-3b37-4ccc-a1e4-944a9dec4ad0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:26:27.016648+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.TestNodeHistory.test_get_history_item [0.104189s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/99fb8552-5209-4cad-98e6-c4446777f094 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-42db1eba-296a-49cc-8ce1-72504a09d985
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.78
{"uuid": "99fb8552-5209-4cad-98e6-c4446777f094", "created_at": "2025-05-30T17:26:27.032036+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/99fb8552-5209-4cad-98e6-c4446777f094", "rel": "self"}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_raises_error_before_1_17 [0.138510s] ... 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-5194ac57-b4b1-4cfb-8b2d-ed998f9c7b97
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.TestNodeHistory.test_get_history_item_not_found [0.098360s] ... 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-7f2c3c5f-6df1-4165-b8cc-2293b3552237
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_detail_sort_key_allowed [0.125188s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/detail?sort_key=resource_class WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-48f4627b-ef8b-4aeb-a5e6-cbd8909355d4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.21
{"nodes": [{"uuid": "5c55684d-4d2b-41f1-84a5-2ecf6d42bcb9", "created_at": "2025-05-30T17:26:27.128692+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/5c55684d-4d2b-41f1-84a5-2ecf6d42bcb9", "rel": "self"}, {"href": "http://localhost/nodes/5c55684d-4d2b-41f1-84a5-2ecf6d42bcb9", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/5c55684d-4d2b-41f1-84a5-2ecf6d42bcb9/ports", "rel": "self"}, {"href": "http://localhost/nodes/5c55684d-4d2b-41f1-84a5-2ecf6d42bcb9/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/5c55684d-4d2b-41f1-84a5-2ecf6d42bcb9/states", "rel": "self"}, {"href": "http://localhost/nodes/5c55684d-4d2b-41f1-84a5-2ecf6d42bcb9/states", "rel": "bookmark"}]}, {"uuid": "9966a7df-0f8b-40b7-a99e-df157791dabe", "created_at": "2025-05-30T17:26:27.127079+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/9966a7df-0f8b-40b7-a99e-df157791dabe", "rel": "self"}, {"href": "http://localhost/nodes/9966a7df-0f8b-40b7-a99e-df157791dabe", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/9966a7df-0f8b-40b7-a99e-df157791dabe/ports", "rel": "self"}, {"href": "http://localhost/nodes/9966a7df-0f8b-40b7-a99e-df157791dabe/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/9966a7df-0f8b-40b7-a99e-df157791dabe/states", "rel": "self"}, {"href": "http://localhost/nodes/9966a7df-0f8b-40b7-a99e-df157791dabe/states", "rel": "bookmark"}]}, {"uuid": "09582c39-93f3-4347-8651-7324ca37812d", "created_at": "2025-05-30T17:26:27.125325+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/09582c39-93f3-4347-8651-7324ca37812d", "rel": "self"}, {"href": "http://localhost/nodes/09582c39-93f3-4347-8651-7324ca37812d", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/09582c39-93f3-4347-8651-7324ca37812d/ports", "rel": "self"}, {"href": "http://localhost/nodes/09582c39-93f3-4347-8651-7324ca37812d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/09582c39-93f3-4347-8651-7324ca37812d/states", "rel": "self"}, {"href": "http://localhost/nodes/09582c39-93f3-4347-8651-7324ca37812d/states", "rel": "bookmark"}]}]}
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_normal [0.138364s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '17c1e13a-e970-4b55-b64e-f91ef0dee235', 'owner': None} GOT Response: 201 Created
Content-Type: application/json
Location: http://localhost/v1/allocations/17c1e13a-e970-4b55-b64e-f91ef0dee235
Openstack-Request-Id: req-e4fdcb2e-056c-4f92-b1ed-dfc9011bedfa
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.60
{"uuid": "17c1e13a-e970-4b55-b64e-f91ef0dee235", "created_at": "2025-05-30T17:26:27.153879+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/17c1e13a-e970-4b55-b64e-f91ef0dee235", "rel": "self"}, {"href": "http://localhost/allocations/17c1e13a-e970-4b55-b64e-f91ef0dee235", "rel": "bookmark"}], "node_uuid": null}
GET /v1/allocations/17c1e13a-e970-4b55-b64e-f91ef0dee235 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-3d7fd666-c0a9-4e2f-a30a-a8bf7164c994
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.60
{"uuid": "17c1e13a-e970-4b55-b64e-f91ef0dee235", "created_at": "2025-05-30T17:26:27.153879+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/17c1e13a-e970-4b55-b64e-f91ef0dee235", "rel": "self"}, {"href": "http://localhost/allocations/17c1e13a-e970-4b55-b64e-f91ef0dee235", "rel": "bookmark"}], "node_uuid": null}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_sort_key_not_allowed [0.060422s] ... 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-d57ce03f-dec0-4467-9ad8-05c5dec2131d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.TestNodeHistory.test_get_history_item_old_version [0.085035s] ... 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_allocation.TestPost.test_create_restricted_allocation_older_version [0.112517s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'ddb38243-cb8a-47d5-aafa-48d5bfa3b38d'} GOT Response: 201 Created
Content-Type: application/json
Location: http://localhost/v1/allocations/ddb38243-cb8a-47d5-aafa-48d5bfa3b38d
Openstack-Request-Id: req-93551809-b72b-4630-b7de-44eecb7e62f5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.59
{"uuid": "ddb38243-cb8a-47d5-aafa-48d5bfa3b38d", "created_at": "2025-05-30T17:26:27.283549+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/ddb38243-cb8a-47d5-aafa-48d5bfa3b38d", "rel": "self"}, {"href": "http://localhost/allocations/ddb38243-cb8a-47d5-aafa-48d5bfa3b38d", "rel": "bookmark"}], "node_uuid": null}
GET /v1/allocations/ddb38243-cb8a-47d5-aafa-48d5bfa3b38d WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-8b828975-c6b9-4ddb-af12-84b00c63eb3b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.59
{"uuid": "ddb38243-cb8a-47d5-aafa-48d5bfa3b38d", "created_at": "2025-05-30T17:26:27.283549+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/ddb38243-cb8a-47d5-aafa-48d5bfa3b38d", "rel": "self"}, {"href": "http://localhost/allocations/ddb38243-cb8a-47d5-aafa-48d5bfa3b38d", "rel": "bookmark"}], "node_uuid": null}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test__update_changed_fields_lowers_conductor_group [0.113468s] ... ok
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_with_mismatch_owner [0.088317s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '1bace410-75fa-4509-918e-5344e04887ad', 'owner': '54321'} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-86b95bf1-96bd-4800-8ce3-3c8bb7f58e2d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node.TestPatch.test__update_changed_fields_remove_chassis_uuid [0.075826s] ... ok
{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_with_owner [0.039410s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '1955d9d7-81e1-4328-91fc-7f6f83018eda', 'owner': '12345'} GOT Response: 201 Created
Content-Type: application/json
Location: http://localhost/v1/allocations/1955d9d7-81e1-4328-91fc-7f6f83018eda
Openstack-Request-Id: req-644bdca3-4d97-4d23-9cce-737b9fc48833
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.60
{"uuid": "1955d9d7-81e1-4328-91fc-7f6f83018eda", "created_at": "2025-05-30T17:26:27.440675+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/1955d9d7-81e1-4328-91fc-7f6f83018eda", "rel": "self"}, {"href": "http://localhost/allocations/1955d9d7-81e1-4328-91fc-7f6f83018eda", "rel": "bookmark"}], "node_uuid": null}
GET /v1/allocations/1955d9d7-81e1-4328-91fc-7f6f83018eda WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-539c7302-0bd6-4228-a773-5160075186df
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.60
{"uuid": "1955d9d7-81e1-4328-91fc-7f6f83018eda", "created_at": "2025-05-30T17:26:27.440675+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/1955d9d7-81e1-4328-91fc-7f6f83018eda", "rel": "self"}, {"href": "http://localhost/allocations/1955d9d7-81e1-4328-91fc-7f6f83018eda", "rel": "bookmark"}], "node_uuid": null}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query [0.245810s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?detail=True WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-432e2301-0c92-4238-bf38-5fb1209a4d93
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:26:27.369558+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_add_chassis_id [0.048397s] ... 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-72d94682-2738-4450-af50-762cdd74410b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_chassis.TestPatch.test_add_multi [0.041771s] ... 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-c33b9302-0b6a-4f77-a51b-6e976e205a57
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:27.472638+00:00", "updated_at": "2025-05-30T17:26:27.483859+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-70b9b13f-a387-46e1-83fa-d00ee7e4c0d8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:27.472638+00:00", "updated_at": "2025-05-30T17:26:27.483859+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"}]]}
{2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_root [0.037260s] ... 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-9688717a-5f6b-4ff7-afd3-10a228707743
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:27.516392+00:00", "updated_at": "2025-05-30T17:26:27.526199+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"}]]}
{2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_root_non_existent [0.035763s] ... 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-eef7c5f1-804f-4fdd-9a89-194a1f4758ef
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node.TestPatch.test_add_chassis_uuid [0.114398s] ... 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-ddf15645-9ec3-4baf-8e1d-1c30499d97a8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:27.532081+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_chassis.TestPatch.test_patch_nodes_subresource [0.064634s] ... 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-85c39d06-c095-4e32-aa9c-66ac07ebf580
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node.TestPatch.test_add_ok [0.109744s] ... 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-515bd5f1-be32-48d9-bc34-89df7aef15c2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:27.634760+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_node.TestPut.test_bad_requests_in_adopting_state [0.661764s] ... 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-e001ec3c-66b0-4db8-b3ae-8a4e8ffcb541
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-b504b7ed-0e40-4522-8bf7-8eeed04f70a6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-0c4a795a-6a16-4f9d-982e-47c4211afbdb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_multi [0.136494s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/chassis/3fa94a67-04a4-4961-ae32-41fbfa3f505f WITH [{'path': '/extra/foo2', 'op': 'remove'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-c4e468c4-da71-4a68-b274-ee896de1883c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "3fa94a67-04a4-4961-ae32-41fbfa3f505f", "created_at": "2025-05-30T17:26:27.701986+00:00", "updated_at": "2025-05-30T17:26:27.735080+00:00", "description": "foobar", "extra": {"foo1": "bar1", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/chassis/3fa94a67-04a4-4961-ae32-41fbfa3f505f", "rel": "self"}, {"href": "http://localhost/chassis/3fa94a67-04a4-4961-ae32-41fbfa3f505f", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/3fa94a67-04a4-4961-ae32-41fbfa3f505f/nodes", "rel": "self"}, {"href": "http://localhost/chassis/3fa94a67-04a4-4961-ae32-41fbfa3f505f/nodes", "rel": "bookmark"}]]}
GET /v1/chassis/3fa94a67-04a4-4961-ae32-41fbfa3f505f WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-670235dc-2643-48e5-a846-9c8dda685f04
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "3fa94a67-04a4-4961-ae32-41fbfa3f505f", "created_at": "2025-05-30T17:26:27.701986+00:00", "updated_at": "2025-05-30T17:26:27.735080+00:00", "description": "foobar", "extra": {"foo1": "bar1", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/chassis/3fa94a67-04a4-4961-ae32-41fbfa3f505f", "rel": "self"}, {"href": "http://localhost/chassis/3fa94a67-04a4-4961-ae32-41fbfa3f505f", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/3fa94a67-04a4-4961-ae32-41fbfa3f505f/nodes", "rel": "self"}, {"href": "http://localhost/chassis/3fa94a67-04a4-4961-ae32-41fbfa3f505f/nodes", "rel": "bookmark"}]]}
PATCH /v1/chassis/3fa94a67-04a4-4961-ae32-41fbfa3f505f WITH [{'path': '/extra', 'op': 'remove'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-02d26a63-8629-488d-a861-7117729562e7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "3fa94a67-04a4-4961-ae32-41fbfa3f505f", "created_at": "2025-05-30T17:26:27.701986+00:00", "updated_at": "2025-05-30T17:26:27.779657+00:00", "description": "foobar", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/3fa94a67-04a4-4961-ae32-41fbfa3f505f", "rel": "self"}, {"href": "http://localhost/chassis/3fa94a67-04a4-4961-ae32-41fbfa3f505f", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/3fa94a67-04a4-4961-ae32-41fbfa3f505f/nodes", "rel": "self"}, {"href": "http://localhost/chassis/3fa94a67-04a4-4961-ae32-41fbfa3f505f/nodes", "rel": "bookmark"}]]}
GET /v1/chassis/3fa94a67-04a4-4961-ae32-41fbfa3f505f WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-6096c188-4427-4d79-a7e3-d97588e5049f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "3fa94a67-04a4-4961-ae32-41fbfa3f505f", "created_at": "2025-05-30T17:26:27.701986+00:00", "updated_at": "2025-05-30T17:26:27.779657+00:00", "description": "foobar", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/3fa94a67-04a4-4961-ae32-41fbfa3f505f", "rel": "self"}, {"href": "http://localhost/chassis/3fa94a67-04a4-4961-ae32-41fbfa3f505f", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/3fa94a67-04a4-4961-ae32-41fbfa3f505f/nodes", "rel": "self"}, {"href": "http://localhost/chassis/3fa94a67-04a4-4961-ae32-41fbfa3f505f/nodes", "rel": "bookmark"}]]}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_root [0.095889s] ... 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-c268ae17-5a36-412d-b11b-9810ecd7a3b1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:27.748661+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"}]}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_root_non_existent [0.058974s] ... 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-028d6590-c1f9-46c7-bad4-f03ccb2f803b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node.TestPut.test_bad_requests_in_adoption_failed_state [0.139557s] ... 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-9ca5e002-62dd-4417-b230-b38c3b2cfe77
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-2331b819-867a-4074-87d8-5dc4ded536b1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-86882c05-cbd6-4181-9a12-108f63d51506
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_state_in_cleaning [0.061559s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/c3f6a771-7ead-4be6-a461-4f8146e28600 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 409 Conflict
Content-Type: application/json
Openstack-Request-Id: req-ba6e532f-32bd-4080-bf44-7668f1c92653
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node c3f6a771-7ead-4be6-a461-4f8146e28600 can not be updated while a state transition is in progress.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_managed_state [0.131661s] ... 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-f578bc8a-c8f6-4429-a378-413162639355
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-71c5dcc9-1ee6-48b0-8e2b-45f159b1c4c9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-6372cf7d-9bff-474d-a108-821df91624f1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_state_in_deployfail [0.118403s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/06f40240-7b2f-4927-bca3-e535fdd2917f WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-96e58f6a-d855-4db6-b649-720fa951a694
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "06f40240-7b2f-4927-bca3-e535fdd2917f", "created_at": "2025-05-30T17:26:27.985828+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/06f40240-7b2f-4927-bca3-e535fdd2917f", "rel": "self"}, {"href": "http://localhost/nodes/06f40240-7b2f-4927-bca3-e535fdd2917f", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/06f40240-7b2f-4927-bca3-e535fdd2917f/ports", "rel": "self"}, {"href": "http://localhost/nodes/06f40240-7b2f-4927-bca3-e535fdd2917f/ports", "rel": "bookmark"}]}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_empty_invalid [0.060309s] ... 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-32b9f8eb-1949-4f2f-96a4-86edd70c6698
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_bios_older_soft_ver [0.096421s] ... 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-6d1d177f-3738-46d8-a5b9-c31210741679
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node.TestPatch.test_patch_add_name_empty_not_acceptable [0.055990s] ... 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-cb2c62d9-f023-4491-87d2-8b24f0bd8df3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_chassis.TestPatch.test_remove_non_existent_property_fail [0.388309s] ... 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-a44df7c1-1727-489d-9743-dd9aac59d050
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_patch_add_name_invalid [0.051036s] ... 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-f132f0c6-ad19-4326-a3e9-d8fddaec6263
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_bios_valid_soft_ver [0.088223s] ... 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-43a15355-60a0-4cde-8227-0af13c7621c7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.76
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_and_fields [0.754929s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?detail=True&fields=name WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-b931464d-5b05-422f-95cb-512bc3a81c18
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_chassis.TestPatch.test_remove_singular [0.091303s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/chassis/7b7c26f8-8499-4ddc-9eea-1b7e692e605a WITH [{'path': '/description', 'op': 'remove'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-fbfd0f5d-b61c-4d03-bdca-c84d34d83767
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "7b7c26f8-8499-4ddc-9eea-1b7e692e605a", "created_at": "2025-05-30T17:26:28.241813+00:00", "updated_at": "2025-05-30T17:26:28.260531+00:00", "description": null, "extra": {"a": "b"}, "links": [{"href": "http://localhost/v1/chassis/7b7c26f8-8499-4ddc-9eea-1b7e692e605a", "rel": "self"}, {"href": "http://localhost/chassis/7b7c26f8-8499-4ddc-9eea-1b7e692e605a", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/7b7c26f8-8499-4ddc-9eea-1b7e692e605a/nodes", "rel": "self"}, {"href": "http://localhost/chassis/7b7c26f8-8499-4ddc-9eea-1b7e692e605a/nodes", "rel": "bookmark"}]]}
GET /v1/chassis/7b7c26f8-8499-4ddc-9eea-1b7e692e605a WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-6d75971b-7cb1-4426-91a0-22a9488cede6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "7b7c26f8-8499-4ddc-9eea-1b7e692e605a", "created_at": "2025-05-30T17:26:28.241813+00:00", "updated_at": "2025-05-30T17:26:28.260531+00:00", "description": null, "extra": {"a": "b"}, "links": [{"href": "http://localhost/v1/chassis/7b7c26f8-8499-4ddc-9eea-1b7e692e605a", "rel": "self"}, {"href": "http://localhost/chassis/7b7c26f8-8499-4ddc-9eea-1b7e692e605a", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/7b7c26f8-8499-4ddc-9eea-1b7e692e605a/nodes", "rel": "self"}, {"href": "http://localhost/chassis/7b7c26f8-8499-4ddc-9eea-1b7e692e605a/nodes", "rel": "bookmark"}]]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_invalid_request [0.103026s] ... 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-af81c0d0-bbad-4cd4-abb6-6248667ecac4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_patch_add_name_ok [0.117589s] ... 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-d8fecb70-5581-4b6f-b6eb-1c7fc1f6ffe3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:28.276072+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_chassis.TestPatch.test_remove_uuid [0.086894s] ... 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-460f577d-1e6a-4c9d-8841-8ec454945852
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_false_and_fields [0.140813s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?detail=False&fields=name WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-68a0c94a-ac4d-412a-aa03-48cadacb1134
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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"}]}]}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_reserved [0.109077s] ... 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-dd20f7e7-6777-454a-9197-b264d5f4d735
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-b80f9ab9-48a3-4230-8aaf-3fcd14e51579
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-3f7a4172-a07e-47df-91ad-94a75cc43677
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-0cef398f-fd9c-4f72-af58-29ccb85fb9af
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-48165f2c-cdda-4f64-be2e-fbc8d79fd4b1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-b9875653-f597-4e6c-9dfa-4e1b1ae3dd71
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node.TestPut.test_boot_mode_uefi_older_soft_ver [0.124066s] ... 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-b308c97a-31e9-4caa-aadd-d09e15d109bc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_chassis.TestPatch.test_replace_multi [0.125506s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/chassis/60a2fdfe-c705-4dba-b7aa-8662f2d94301 WITH [{'path': '/extra/foo2', 'value': 'new value', 'op': 'replace'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-d2396278-7b82-45fb-bd4c-12a38c01c5fa
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "60a2fdfe-c705-4dba-b7aa-8662f2d94301", "created_at": "2025-05-30T17:26:28.441370+00:00", "updated_at": "2025-05-30T17:26:28.479397+00:00", "description": "data-center-1-chassis", "extra": {"foo1": "bar1", "foo2": "new value", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/chassis/60a2fdfe-c705-4dba-b7aa-8662f2d94301", "rel": "self"}, {"href": "http://localhost/chassis/60a2fdfe-c705-4dba-b7aa-8662f2d94301", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/60a2fdfe-c705-4dba-b7aa-8662f2d94301/nodes", "rel": "self"}, {"href": "http://localhost/chassis/60a2fdfe-c705-4dba-b7aa-8662f2d94301/nodes", "rel": "bookmark"}]]}
GET /v1/chassis/60a2fdfe-c705-4dba-b7aa-8662f2d94301 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-be99ed9d-1395-4df7-9144-de2b0956a07a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "60a2fdfe-c705-4dba-b7aa-8662f2d94301", "created_at": "2025-05-30T17:26:28.441370+00:00", "updated_at": "2025-05-30T17:26:28.479397+00:00", "description": "data-center-1-chassis", "extra": {"foo1": "bar1", "foo2": "new value", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/chassis/60a2fdfe-c705-4dba-b7aa-8662f2d94301", "rel": "self"}, {"href": "http://localhost/chassis/60a2fdfe-c705-4dba-b7aa-8662f2d94301", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/60a2fdfe-c705-4dba-b7aa-8662f2d94301/nodes", "rel": "self"}, {"href": "http://localhost/chassis/60a2fdfe-c705-4dba-b7aa-8662f2d94301/nodes", "rel": "bookmark"}]]}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_old_version [0.109338s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?detail=True WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-9c9eda92-cdd8-4bc6-8af8-89cb90ed6627
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.TestPatch.test_patch_add_replace_invalid [0.060725s] ... 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-ab2cc274-0518-4612-93a0-4085ed97945d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node.TestPut.test_boot_mode_uefi_valid_soft_ver [0.083283s] ... 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-bdee89b8-cb4d-46f0-94bd-73a7ca992ad3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.76
{2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_replace_singular [0.095866s] ... 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-41690a27-83f4-4cfd-a05b-cdbaa5f9c51d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:28.548459+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-41bb265c-8448-4a9c-b693-d022cb2bc323
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:28.548459+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"}]]}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_allocation_forbidden [0.087427s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/c22822c9-c4ec-4ae0-81f8-5b9a0863f85f WITH [{'path': '/allocation_uuid', 'op': 'replace', 'value': '8ddb2b7e-014a-4a42-bb85-dc95cd3c588b'}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-a8bb19b9-8664-459d-81d0-0667ffd52aca
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}"}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_allocation_uuid_forbidden [0.048692s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/da9c19f8-6946-4ec9-9792-526b4f9a62eb WITH [{'path': '/allocation_uuid', 'op': 'replace', 'value': '1f650729-49f0-48e0-82de-c4bb4c53f40f'}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-9872c4bc-b003-4ffa-a058-4d5a46cfcbf6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean [0.108654s] ... 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-6e6fcfdc-e69d-433c-9063-998af2c978db
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.15
{2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_update_error [0.082803s] ... 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-45bdc324-d5a5-4658-bd24-837b7a0dc2ea
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_with_association_filter [0.183637s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/detail?associated=true WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-2e2e329c-9f58-4ea8-9c0d-1b398191b3b1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"nodes": [{"uuid": "c8c6c2cd-cd94-4626-ba10-08986ee2548b", "created_at": "2025-05-30T17:26:28.612089+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": "d71120e5-7462-4236-af38-b92ad5205d45", "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/c8c6c2cd-cd94-4626-ba10-08986ee2548b", "rel": "self"}, {"href": "http://localhost/nodes/c8c6c2cd-cd94-4626-ba10-08986ee2548b", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/c8c6c2cd-cd94-4626-ba10-08986ee2548b/ports", "rel": "self"}, {"href": "http://localhost/nodes/c8c6c2cd-cd94-4626-ba10-08986ee2548b/ports", "rel": "bookmark"}]}, {"uuid": "401f240a-08d4-4bf3-a934-f8dc394f5f74", "created_at": "2025-05-30T17:26:28.617972+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": "202dba86-3a88-40f1-a595-f9d93b5bf8ab", "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/401f240a-08d4-4bf3-a934-f8dc394f5f74", "rel": "self"}, {"href": "http://localhost/nodes/401f240a-08d4-4bf3-a934-f8dc394f5f74", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/401f240a-08d4-4bf3-a934-f8dc394f5f74/ports", "rel": "self"}, {"href": "http://localhost/nodes/401f240a-08d4-4bf3-a934-f8dc394f5f74/ports", "rel": "bookmark"}]}, {"uuid": "0d60263f-fc61-4846-9e87-73a09552849a", "created_at": "2025-05-30T17:26:28.625412+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": "e0cb30e1-994f-45f1-a794-9fadd3ac29e7", "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/0d60263f-fc61-4846-9e87-73a09552849a", "rel": "self"}, {"href": "http://localhost/nodes/0d60263f-fc61-4846-9e87-73a09552849a", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/0d60263f-fc61-4846-9e87-73a09552849a/ports", "rel": "self"}, {"href": "http://localhost/nodes/0d60263f-fc61-4846-9e87-73a09552849a/ports", "rel": "bookmark"}]}, {"uuid": "8e4017ef-195c-45f9-8772-2a909dc60c97", "created_at": "2025-05-30T17:26:28.631540+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": "724d3b6a-72f6-4ca4-a00f-31d15eeb6b33", "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/8e4017ef-195c-45f9-8772-2a909dc60c97", "rel": "self"}, {"href": "http://localhost/nodes/8e4017ef-195c-45f9-8772-2a909dc60c97", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/8e4017ef-195c-45f9-8772-2a909dc60c97/ports", "rel": "self"}, {"href": "http://localhost/nodes/8e4017ef-195c-45f9-8772-2a909dc60c97/ports", "rel": "bookmark"}]}]}
{2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_update_not_found [0.075270s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/chassis/adbf352d-1d02-41fc-88a0-ef25df855eea WITH [{'path': '/extra/a', 'value': 'b', 'op': 'add'}] GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-ead58364-b275-4180-87e5-b794281502ad
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis adbf352d-1d02-41fc-88a0-ef25df855eea could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_check_steps_fail [0.104881s] ... 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-ae276b76-26b0-4404-ba1e-e2494ef10f02
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.TestListNodes.test_detail_with_instance_uuid [0.142376s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/detail?instance_uuid=011463b3-1105-410d-af72-18c8f0f4ff55 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-45c63c00-56c7-4fdc-86ec-605e5842e537
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"nodes": [{"uuid": "44bcbd51-ae95-4771-bd2f-e22380e6f98d", "created_at": "2025-05-30T17:26:28.777090+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": "011463b3-1105-410d-af72-18c8f0f4ff55", "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/44bcbd51-ae95-4771-bd2f-e22380e6f98d", "rel": "self"}, {"href": "http://localhost/nodes/44bcbd51-ae95-4771-bd2f-e22380e6f98d", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/44bcbd51-ae95-4771-bd2f-e22380e6f98d/ports", "rel": "self"}, {"href": "http://localhost/nodes/44bcbd51-ae95-4771-bd2f-e22380e6f98d/ports", "rel": "bookmark"}]}]}
{2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name [0.079399s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/deploy_templates/CUSTOM_DT1 GOT Response: 204 No Content
Openstack-Request-Id: req-be2d8df7-8667-479f-9ab6-9ad42f704acc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_disable_ramdisk [0.109329s] ... 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-d7e345b3-608e-45fe-aa17-17ff8ed6167c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.70
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_conductor_forbidden [0.277891s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/35506d45-0331-42a3-b2a7-e1a166bdbc2e WITH [{'path': '/conductor', 'op': 'replace', 'value': 'why care'}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-fef73a22-3f24-47fc-963f-dac4aace5622
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name_non_existent [0.091172s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/deploy_templates/blah GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-9792d0a6-a8ed-44e1-8631-5764b10bd97a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template blah could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_empty [0.136545s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-c15c143d-7074-4131-94e9-b0ac1461bb63
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"nodes": []}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_deploy_step_forbidden [0.072786s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/54e03b97-ec2e-42e2-9a1c-0f1f6ec1237c WITH [{'path': '/deploy_step', 'op': 'replace', 'value': 'deploy this'}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-c17adfa9-234a-4ce8-a574-5a920a7fe4b7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name_with_json [0.098211s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/deploy_templates/CUSTOM_DT1.json GOT Response: 204 No Content
Openstack-Request-Id: req-d9405cca-1d11-4b1c-9bb0-009d781c2842
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.90
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_disable_ramdisk_old_api [0.158497s] ... 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-37c5db8f-65ce-4ff1-a56a-e0b312fa5c49
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_all_interface_fields [0.144022s] ... 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-621233d9-a3a5-43e3-93c8-9cf872ac8744
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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"}]}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_duplicate_name [0.117265s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/2f2a0804-8411-47b6-9530-2fd7e0a6b842 WITH [{'path': '/name', 'op': 'replace', 'value': 'this-is-my-node'}] GOT Response: 409 Conflict
Content-Type: application/json
Openstack-Request-Id: req-415d63ad-77ea-4071-9f13-a73c2e47c2b7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name_with_json_not_found [0.097802s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/deploy_templates/CUSTOM_DT1.json GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-547adc63-e89e-40ef-9e68-d61c2bab1595
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template CUSTOM_DT1.json could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_fault_forbidden [0.055795s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/dccdb3e6-29d6-4cc9-a18a-79aa59f75ffa WITH [{'path': '/fault', 'op': 'replace', 'value': 'why care'}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-2a139086-ede6-462f-9c4b-6d2fc682a903
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_no_cleansteps [0.138063s] ... 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-92d640d6-f293-4a02-93d8-0cf002d61798
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_uuid [0.064989s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/deploy_templates/1b3cf0a0-a725-40d9-89eb-d7d1040bd9f6 GOT Response: 204 No Content
Openstack-Request-Id: req-85854c2e-963e-46a5-a577-c975066243f1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_all_interface_fields_invalid_api_version [0.124923s] ... 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-b31ef836-2a3e-4ebc-8fa9-52eeeabe5ba2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_name_remove_ok [0.111744s] ... 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-9c75a361-ce77-46fd-a37d-36972913d521
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:29.204132+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_deploy_template.TestDelete.test_delete_by_uuid_with_json [0.074852s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/deploy_templates/6afa2271-9d23-4fb5-b9cb-88f8f79948aa.json GOT Response: 204 No Content
Openstack-Request-Id: req-aa75e084-642f-4e69-84eb-1cfab69723ca
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.90
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_with_runbooks [0.130532s] ... 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-6486c6d0-4746-4563-8ed3-e9d8ff522929
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_automated_clean_fields [0.139902s] ... 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-328af936-579e-4f58-a63b-839dbff9dfbe
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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"}]}
{2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_uuid_with_json_not_found [0.071405s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/deploy_templates/d234ed77-7ed9-4aad-9c6a-0015c12ef4d5.json GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-83fcdbd6-ecc0-4035-808d-7f0578f7aced
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template d234ed77-7ed9-4aad-9c6a-0015c12ef4d5.json could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_name_replace_ok [0.138104s] ... 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-ddc4be11-76a8-48d0-9ab3-4031a9cd8836
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:29.319755+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_node.TestPut.test_clean_with_runbooks_unapproved [0.127422s] ... 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-bb5b80f4-029e-4e68-9541-534d530139c7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_deploy_template.TestDelete.test_delete_invalid_api_version [0.065463s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/deploy_templates/07ae487a-d076-45e6-8d72-2dc54590ff4d 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_node.TestListNodes.test_get_boot_device [0.131537s] ... 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-f88f0fa0-eebe-4754-93fc-6afeb50ff1f1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"boot_device": "pxe", "persistent": true}
{2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_old_api_version [0.048817s] ... 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\"}"}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update [0.095692s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/0e2a097d-c7cc-4399-a291-6328dac91d88 WITH [{'path': '/description', 'value': 'foo', 'op': 'replace'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-01bceb00-324a-4632-8a9a-c02e9de20a3e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.90
{"uuid": "0e2a097d-c7cc-4399-a291-6328dac91d88", "created_at": "2025-05-30T17:26:29.472438+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/0e2a097d-c7cc-4399-a291-6328dac91d88", "rel": "self"}, {"href": "http://localhost/nodes/0e2a097d-c7cc-4399-a291-6328dac91d88", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/0e2a097d-c7cc-4399-a291-6328dac91d88/ports", "rel": "self"}, {"href": "http://localhost/nodes/0e2a097d-c7cc-4399-a291-6328dac91d88/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/0e2a097d-c7cc-4399-a291-6328dac91d88/states", "rel": "self"}, {"href": "http://localhost/nodes/0e2a097d-c7cc-4399-a291-6328dac91d88/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/0e2a097d-c7cc-4399-a291-6328dac91d88/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/0e2a097d-c7cc-4399-a291-6328dac91d88/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/0e2a097d-c7cc-4399-a291-6328dac91d88/volume", "rel": "self"}, {"href": "http://localhost/nodes/0e2a097d-c7cc-4399-a291-6328dac91d88/volume", "rel": "bookmark"}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi [0.093565s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi WITH {} GOT Response: 204 No Content
Openstack-Request-Id: req-9d87e3e8-77c4-4940-b468-ffadca96cdd9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.29
{2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach [0.098002s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': 'bee4d477-a789-456a-9c27-47d4e8ddd429'} GOT Response: 204 No Content
Openstack-Request-Id: req-67da2fa3-ae59-4b17-b2fb-3958086331f0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_policy_update_extra [0.117773s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/247b2808-2b3d-4a4d-adfa-c163af4dfdcc WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-c47040f7-e72e-40e3-992e-209fb5061813
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.90
{"uuid": "247b2808-2b3d-4a4d-adfa-c163af4dfdcc", "created_at": "2025-05-30T17:26:29.577367+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/247b2808-2b3d-4a4d-adfa-c163af4dfdcc", "rel": "self"}, {"href": "http://localhost/nodes/247b2808-2b3d-4a4d-adfa-c163af4dfdcc", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/247b2808-2b3d-4a4d-adfa-c163af4dfdcc/ports", "rel": "self"}, {"href": "http://localhost/nodes/247b2808-2b3d-4a4d-adfa-c163af4dfdcc/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/247b2808-2b3d-4a4d-adfa-c163af4dfdcc/states", "rel": "self"}, {"href": "http://localhost/nodes/247b2808-2b3d-4a4d-adfa-c163af4dfdcc/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/247b2808-2b3d-4a4d-adfa-c163af4dfdcc/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/247b2808-2b3d-4a4d-adfa-c163af4dfdcc/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/247b2808-2b3d-4a4d-adfa-c163af4dfdcc/volume", "rel": "self"}, {"href": "http://localhost/nodes/247b2808-2b3d-4a4d-adfa-c163af4dfdcc/volume", "rel": "bookmark"}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi_not_allowed [0.105643s] ... 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-9cba89ad-5375-4deb-9a93-ff30a76da387
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node.TestListNodes.test_get_boot_device_by_name [0.153370s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/spam/management/boot_device WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-bae43ba1-4930-4bb6-9904-dbc78311239c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.5
{"boot_device": "pxe", "persistent": true}
{2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_by_node_name [0.068546s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/nodes/node-39/vifs WITH {'id': '9e0fedb3-f164-4561-a604-fa49b13ad90d'} GOT Response: 204 No Content
Openstack-Request-Id: req-4b510776-08d0-4cbf-8ca4-272a8d773166
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.28
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi_not_supported [0.086382s] ... 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-17a2e06b-8807-41e9-9923-8bcc49765edf
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_extra_and_instance_info [0.117488s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/7ac1259e-0c0f-424f-857f-712ace6d39af 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-a3f24349-f7ff-41a1-92b3-10e3d8af94fe
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.90
{"uuid": "7ac1259e-0c0f-424f-857f-712ace6d39af", "created_at": "2025-05-30T17:26:29.709476+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/7ac1259e-0c0f-424f-857f-712ace6d39af", "rel": "self"}, {"href": "http://localhost/nodes/7ac1259e-0c0f-424f-857f-712ace6d39af", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/7ac1259e-0c0f-424f-857f-712ace6d39af/ports", "rel": "self"}, {"href": "http://localhost/nodes/7ac1259e-0c0f-424f-857f-712ace6d39af/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7ac1259e-0c0f-424f-857f-712ace6d39af/states", "rel": "self"}, {"href": "http://localhost/nodes/7ac1259e-0c0f-424f-857f-712ace6d39af/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7ac1259e-0c0f-424f-857f-712ace6d39af/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7ac1259e-0c0f-424f-857f-712ace6d39af/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7ac1259e-0c0f-424f-857f-712ace6d39af/volume", "rel": "self"}, {"href": "http://localhost/nodes/7ac1259e-0c0f-424f-857f-712ace6d39af/volume", "rel": "bookmark"}]}
{2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_conductor_unavailable [0.075955s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/nodes/node-39/vifs WITH {'id': 'a315a789-bb29-4877-a485-49766ada4bfc'} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-4b50c115-f66d-4dc7-b81a-8c8c226ab371
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.28
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"boom\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device_iface_not_supported [0.136088s] ... 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-c4bf5310-e0e9-41fb-8b03-d8cc3ef8e9c1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_policy_update_generic_and_extra [0.102010s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/66ffbd6d-ef8d-4679-86cc-bf5e572975d8 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-a7cfbaac-6b2f-4661-9cf6-cfc48233fc5e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.90
{"uuid": "66ffbd6d-ef8d-4679-86cc-bf5e572975d8", "created_at": "2025-05-30T17:26:29.814993+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/66ffbd6d-ef8d-4679-86cc-bf5e572975d8", "rel": "self"}, {"href": "http://localhost/nodes/66ffbd6d-ef8d-4679-86cc-bf5e572975d8", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/66ffbd6d-ef8d-4679-86cc-bf5e572975d8/ports", "rel": "self"}, {"href": "http://localhost/nodes/66ffbd6d-ef8d-4679-86cc-bf5e572975d8/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/66ffbd6d-ef8d-4679-86cc-bf5e572975d8/states", "rel": "self"}, {"href": "http://localhost/nodes/66ffbd6d-ef8d-4679-86cc-bf5e572975d8/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/66ffbd6d-ef8d-4679-86cc-bf5e572975d8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/66ffbd6d-ef8d-4679-86cc-bf5e572975d8/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/66ffbd6d-ef8d-4679-86cc-bf5e572975d8/volume", "rel": "self"}, {"href": "http://localhost/nodes/66ffbd6d-ef8d-4679-86cc-bf5e572975d8/volume", "rel": "bookmark"}]}
{2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_invalid_vif_id [0.086828s] ... 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-dbc54878-8d60-42c6-9b67-1ed3b7f0dc8b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_abort_accepted_after_1_41 [0.130075s] ... 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-3d090150-4597-4c56-8d5f-63007deecdeb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.41
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_custom_fields [0.122814s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?fields=uuid,instance_info WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-f2d94a22-6e4a-4901-b124-775fab6066b0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"nodes": [{"uuid": "ccf927a9-5d57-49c8-a679-c400aed22372", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "links": [{"href": "http://localhost/v1/nodes/ccf927a9-5d57-49c8-a679-c400aed22372", "rel": "self"}, {"href": "http://localhost/nodes/ccf927a9-5d57-49c8-a679-c400aed22372", "rel": "bookmark"}]}, {"uuid": "9c2e580b-32ab-4da9-aa99-b37e6da679fe", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "links": [{"href": "http://localhost/v1/nodes/9c2e580b-32ab-4da9-aa99-b37e6da679fe", "rel": "self"}, {"href": "http://localhost/nodes/9c2e580b-32ab-4da9-aa99-b37e6da679fe", "rel": "bookmark"}]}, {"uuid": "64c4ff22-d8f4-46f4-b383-1f0587b42650", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "links": [{"href": "http://localhost/v1/nodes/64c4ff22-d8f4-46f4-b383-1f0587b42650", "rel": "self"}, {"href": "http://localhost/nodes/64c4ff22-d8f4-46f4-b383-1f0587b42650", "rel": "bookmark"}]}]}
{2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_no_vif_id [0.073647s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'bad_id': '5b37819f-eaa0-40f6-b04e-cd26894e0f28'} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-c4ca6df7-688e-4891-bc24-4a8229c1c417
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_generic_and_instance_info [0.112644s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/a1c10a1d-3de3-4042-9eb8-e411657f0f7f 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-78f1a411-b930-4831-be41-d5bf4db40738
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.90
{"uuid": "a1c10a1d-3de3-4042-9eb8-e411657f0f7f", "created_at": "2025-05-30T17:26:29.913032+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/a1c10a1d-3de3-4042-9eb8-e411657f0f7f", "rel": "self"}, {"href": "http://localhost/nodes/a1c10a1d-3de3-4042-9eb8-e411657f0f7f", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/a1c10a1d-3de3-4042-9eb8-e411657f0f7f/ports", "rel": "self"}, {"href": "http://localhost/nodes/a1c10a1d-3de3-4042-9eb8-e411657f0f7f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a1c10a1d-3de3-4042-9eb8-e411657f0f7f/states", "rel": "self"}, {"href": "http://localhost/nodes/a1c10a1d-3de3-4042-9eb8-e411657f0f7f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a1c10a1d-3de3-4042-9eb8-e411657f0f7f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a1c10a1d-3de3-4042-9eb8-e411657f0f7f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a1c10a1d-3de3-4042-9eb8-e411657f0f7f/volume", "rel": "self"}, {"href": "http://localhost/nodes/a1c10a1d-3de3-4042-9eb8-e411657f0f7f/volume", "rel": "bookmark"}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_abort_raises_before_1_41 [0.108483s] ... 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-82226f03-acdf-4de8-a244-42620fea9b09
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node.TestListNodes.test_get_collection_custom_fields_as_list [0.099586s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?fields=uuid&fields=instance_info WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-52e21a30-122b-4bf1-a1bd-a94bfe247d6d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"nodes": [{"uuid": "a6ba6a74-1757-4e64-a7b7-155d78b46dc6", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "links": [{"href": "http://localhost/v1/nodes/a6ba6a74-1757-4e64-a7b7-155d78b46dc6", "rel": "self"}, {"href": "http://localhost/nodes/a6ba6a74-1757-4e64-a7b7-155d78b46dc6", "rel": "bookmark"}]}, {"uuid": "c6f7671a-893d-408d-8ef4-10ff3abced7e", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "links": [{"href": "http://localhost/v1/nodes/c6f7671a-893d-408d-8ef4-10ff3abced7e", "rel": "self"}, {"href": "http://localhost/nodes/c6f7671a-893d-408d-8ef4-10ff3abced7e", "rel": "bookmark"}]}, {"uuid": "c5e0dd03-f505-4b98-92f6-d8ce3cfccb18", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "links": [{"href": "http://localhost/v1/nodes/c5e0dd03-f505-4b98-92f6-d8ce3cfccb18", "rel": "self"}, {"href": "http://localhost/nodes/c5e0dd03-f505-4b98-92f6-d8ce3cfccb18", "rel": "bookmark"}]}]}
{2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_node_locked [0.080455s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': '38bec5af-20df-448e-a847-d307717ab269'} GOT Response: 409 Conflict
Content-Type: application/json
Openstack-Request-Id: req-fe632b6c-b06a-4617-a8e0-c00b3eb47901
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_policy_update_generic_extra_instance_info [0.096392s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/f9b01e28-48ce-4d63-a8f0-0d067e722bd6 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-bd5e4f97-2e68-4165-bb29-fdc8725ffa87
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.90
{"uuid": "f9b01e28-48ce-4d63-a8f0-0d067e722bd6", "created_at": "2025-05-30T17:26:30.020527+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/f9b01e28-48ce-4d63-a8f0-0d067e722bd6", "rel": "self"}, {"href": "http://localhost/nodes/f9b01e28-48ce-4d63-a8f0-0d067e722bd6", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/f9b01e28-48ce-4d63-a8f0-0d067e722bd6/ports", "rel": "self"}, {"href": "http://localhost/nodes/f9b01e28-48ce-4d63-a8f0-0d067e722bd6/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/f9b01e28-48ce-4d63-a8f0-0d067e722bd6/states", "rel": "self"}, {"href": "http://localhost/nodes/f9b01e28-48ce-4d63-a8f0-0d067e722bd6/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/f9b01e28-48ce-4d63-a8f0-0d067e722bd6/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/f9b01e28-48ce-4d63-a8f0-0d067e722bd6/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/f9b01e28-48ce-4d63-a8f0-0d067e722bd6/volume", "rel": "self"}, {"href": "http://localhost/nodes/f9b01e28-48ce-4d63-a8f0-0d067e722bd6/volume", "rel": "bookmark"}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_already_in_progress [0.098792s] ... 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-f005d402-6216-4ff2-b3cd-ae98075e15a5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_node_not_found [0.079857s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/nodes/doesntexist/vifs WITH {'id': 'b390feae-989b-4d55-b379-605cf2231d3e'} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-497094af-d076-48a7-9ba5-d7ebee45d039
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.TestListNodes.test_get_collection_fields_for_nova [0.158077s] ... 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-03c01017-a250-4bc6-b5c7-e3ae1526b5d9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"nodes": [{"uuid": "a141e8e0-affc-4142-bc4f-f82e5fc725ba", "power_state": null, "target_power_state": null, "provision_state": "available", "target_provision_state": null, "last_error": null, "maintenance": false, "instance_uuid": "1e11166f-29f6-48e7-896c-cc82394073f2", "traits": ["CUSTOM_RAID5", "CUSTOM_TRAIT1"], "resource_class": null, "links": [{"href": "http://localhost/v1/nodes/a141e8e0-affc-4142-bc4f-f82e5fc725ba", "rel": "self"}, {"href": "http://localhost/nodes/a141e8e0-affc-4142-bc4f-f82e5fc725ba", "rel": "bookmark"}]}, {"uuid": "509f926c-d54f-444e-94d6-099f8a31baf6", "power_state": null, "target_power_state": null, "provision_state": "available", "target_provision_state": null, "last_error": null, "maintenance": false, "instance_uuid": "d796bcaa-1151-46e8-9885-85034357bc86", "traits": ["CUSTOM_RAID5", "CUSTOM_TRAIT1"], "resource_class": null, "links": [{"href": "http://localhost/v1/nodes/509f926c-d54f-444e-94d6-099f8a31baf6", "rel": "self"}, {"href": "http://localhost/nodes/509f926c-d54f-444e-94d6-099f8a31baf6", "rel": "bookmark"}]}, {"uuid": "ef4973ef-5b75-459e-a702-af637e680cf7", "power_state": null, "target_power_state": null, "provision_state": "available", "target_provision_state": null, "last_error": null, "maintenance": false, "instance_uuid": "4559a30e-fb7c-4f8a-9bae-ff5d8a9380fd", "traits": ["CUSTOM_RAID5", "CUSTOM_TRAIT1"], "resource_class": null, "links": [{"href": "http://localhost/v1/nodes/ef4973ef-5b75-459e-a702-af637e680cf7", "rel": "self"}, {"href": "http://localhost/nodes/ef4973ef-5b75-459e-a702-af637e680cf7", "rel": "bookmark"}]}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_validation_failed_missing_parameter_value [0.128902s] ... 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-45bc8990-73d9-4947-b0e5-0d59c6a41e4b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_port_uuid_and_portgroup_uuid [0.074679s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': '604bbc27-5a76-4e91-912a-2726696a5289', 'port_uuid': 'port-uuid', 'portgroup_uuid': 'portgroup-uuid'} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-69c99732-e51f-4c5c-8772-a790d0b6c32b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_instance_info [0.202578s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/f51beb8a-50af-408d-8e59-ef33d9697e02 WITH [{'path': '/instance_info/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-4f4a0401-d5f7-403f-bd93-522cfbb06d15
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.90
{"uuid": "f51beb8a-50af-408d-8e59-ef33d9697e02", "created_at": "2025-05-30T17:26:30.172953+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/f51beb8a-50af-408d-8e59-ef33d9697e02", "rel": "self"}, {"href": "http://localhost/nodes/f51beb8a-50af-408d-8e59-ef33d9697e02", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/f51beb8a-50af-408d-8e59-ef33d9697e02/ports", "rel": "self"}, {"href": "http://localhost/nodes/f51beb8a-50af-408d-8e59-ef33d9697e02/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/f51beb8a-50af-408d-8e59-ef33d9697e02/states", "rel": "self"}, {"href": "http://localhost/nodes/f51beb8a-50af-408d-8e59-ef33d9697e02/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/f51beb8a-50af-408d-8e59-ef33d9697e02/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/f51beb8a-50af-408d-8e59-ef33d9697e02/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/f51beb8a-50af-408d-8e59-ef33d9697e02/volume", "rel": "self"}, {"href": "http://localhost/nodes/f51beb8a-50af-408d-8e59-ef33d9697e02/volume", "rel": "bookmark"}]}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_pagination_no_uuid [0.101915s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?fields=name&limit=2 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-552b56c5-abf0-4f39-8570-393f5be54c99
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"nodes": [{"name": null, "links": [{"href": "http://localhost/v1/nodes/87a9d25d-80a7-47aa-a412-be86488de067", "rel": "self"}, {"href": "http://localhost/nodes/87a9d25d-80a7-47aa-a412-be86488de067", "rel": "bookmark"}]}, {"name": null, "links": [{"href": "http://localhost/v1/nodes/f40d031a-6bad-41eb-bdc2-81b047359711", "rel": "self"}, {"href": "http://localhost/nodes/f40d031a-6bad-41eb-bdc2-81b047359711", "rel": "bookmark"}]}], "next": "http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=name&limit=2&marker=f40d031a-6bad-41eb-bdc2-81b047359711"}
{2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_port_uuid_and_portgroup_uuid_old [0.108609s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': 'a61508e6-73a1-4960-87c5-60fe4a8b07af', 'port_uuid': 'port-uuid', 'portgroup_uuid': 'portgroup-uuid'} GOT Response: 204 No Content
Openstack-Request-Id: req-1be19fb4-e625-4736-bd67-39f15561e09c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.28
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_validation_failed_status_code [0.165892s] ... 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-0c915b5f-90be-467b-8168-9a1fe5842a78
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node.TestListNodes.test_get_conductor_field [0.095046s] ... 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-bcd728ee-9337-4777-9e61-c89de3151f6d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_policy_update_none [0.132010s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/f5beb99e-759a-463b-8e00-3934cb195ca2 WITH [] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-217087a3-ce6a-4bc1-92fb-f58e307f4f96
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "f5beb99e-759a-463b-8e00-3934cb195ca2", "created_at": "2025-05-30T17:26:30.350763+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/f5beb99e-759a-463b-8e00-3934cb195ca2", "rel": "self"}, {"href": "http://localhost/nodes/f5beb99e-759a-463b-8e00-3934cb195ca2", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/f5beb99e-759a-463b-8e00-3934cb195ca2/ports", "rel": "self"}, {"href": "http://localhost/nodes/f5beb99e-759a-463b-8e00-3934cb195ca2/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/f5beb99e-759a-463b-8e00-3934cb195ca2/states", "rel": "self"}, {"href": "http://localhost/nodes/f5beb99e-759a-463b-8e00-3934cb195ca2/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/f5beb99e-759a-463b-8e00-3934cb195ca2/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/f5beb99e-759a-463b-8e00-3934cb195ca2/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/f5beb99e-759a-463b-8e00-3934cb195ca2/volume", "rel": "self"}, {"href": "http://localhost/nodes/f5beb99e-759a-463b-8e00-3934cb195ca2/volume", "rel": "bookmark"}]}
{2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach [0.090248s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/05b34d68-18ec-4b14-a2ac-7ac25bd9fef6 GOT Response: 204 No Content
Openstack-Request-Id: req-1fc9a703-324e-4e04-aab9-a108486464d8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_portgroups_subresource [0.057062s] ... 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-5a99db62-9c78-46e5-80af-f897ecc6cfe8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node.TestListNodes.test_get_conductor_field_invalid_api_version [0.091878s] ... 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-113491c7-68eb-4e59-afec-0d00dcab578f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_manage_from_adoptfail [0.116951s] ... 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-03dfefd3-2fbf-4695-84a8-71fc9ef2402c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.17
{2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_by_node_name [0.067737s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/node-39/vifs/2bd4223a-f253-42b2-bff0-6f0699208e28 GOT Response: 204 No Content
Openstack-Request-Id: req-c7bdb34b-a215-41ff-8897-f8c7a81ffd30
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_ports_subresource [0.050586s] ... 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-9f768944-a207-4879-a0f6-b5c24b28e490
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_get_conductor_group_fields [0.087823s] ... 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-92a500ce-d780-4e8c-b85c-8db69019a546
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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"}]}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_ports_subresource_no_port_id [0.049468s] ... 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-caff86c8-147a-44d0-bba8-96758490657e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node.TestAttachDetachVif.test_vif_detach_node_locked [0.114476s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/d00214d6-e996-41ca-8dd5-783abd4d2abd GOT Response: 409 Conflict
Content-Type: application/json
Openstack-Request-Id: req-79a13e58-150d-4a06-90f8-d91034cc0c2a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.TestListNodes.test_get_conductor_group_fields_invalid_api_version [0.073435s] ... 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-e2c93d3e-74a3-42b7-a994-37f47ec1770a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_manage_from_available [0.179144s] ... 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-a7b4eca8-f4e0-45f6-a0f7-7b5837f0bb2f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.4
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_drive_console_enabled [0.125554s] ... 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-3700743a-3d93-42cd-888a-7088edecad51
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node.TestAttachDetachVif.test_vif_detach_node_not_found [0.072868s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/doesntexist/vifs/f114cb17-6d25-4acb-bbf1-e068373002fa GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-b9cd704a-9b72-4e3a-89cf-d54abb2137ab
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.TestListNodes.test_get_console_information [0.088304s] ... 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-bc43f84e-5386-4658-9089-b0ab77ef78c5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"console_enabled": true, "console_info": {"test": "test-data"}}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_name_twice_both_invalid [0.054132s] ... 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-d674aede-13d8-4c82-b35d-a2bea4e91747
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node.TestAttachDetachVif.test_vif_list [0.073466s] ... 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-6a2e3068-2167-42b0-826c-76d8fdca4e46
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.28
{"vifs": []}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_change_when_being_cleaned [0.128424s] ... 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-0eea6e31-e9cb-4b83-b96a-a2f8b49501c7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-4f484fdc-7cd1-49fd-b31b-4a1b7bc729ad
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_by_name [0.084461s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/spam/states/console WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-6ee57916-03f7-4050-ad98-6cb676d26a7b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.5
{"console_enabled": true, "console_info": {"test": "test-data"}}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_name_twice_second_invalid [0.070708s] ... 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-4fd04db6-79c4-46cd-8e99-38cbb2012080
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node.TestAttachDetachVif.test_vif_subcontroller_old_version [0.084625s] ... 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\": \"\"}"}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_connectors_subresource [0.065355s] ... 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-3293ef60-ba75-434b-90e3-31b7142e7801
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_invalid_state_request [0.101424s] ... 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-46e35f9c-dd4c-4181-a83b-436eb752cdf8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_console_disabled [0.098396s] ... 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-fa88f637-df2b-4fab-9830-77fc210e86b4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"console_enabled": false, "console_info": null}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_connectors_subresource_no_connector_id [0.050856s] ... 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-0a61d8a9-1f63-44a6-983d-b1ec70a8a67f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: connector_uuid\", \"debuginfo\": null}"}
{2} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_child_node [0.069080s] ... 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_node.TestListNodes.test_get_console_information_not_supported [0.083333s] ... 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-38996cbe-ac02-4109-bade-99de2d3a8dfe
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node.TestPatch.test_patch_volume_targets_subresource [0.069255s] ... 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-71c9832b-a455-4e91-b899-295290f170e5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_by_name [0.112652s] ... 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-8f2fffbb-26d6-4273-a030-396a0385c955
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.5
{2} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_child_node_list [0.080269s] ... 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.TestPatch.test_remove_chassis_id [0.054813s] ... 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-3212bafc-8523-4a12-87df-700e5e405a4d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_custom_fields_invalid_api_version [0.073008s] ... 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-7146093f-f135-40f0-afb7-cf6ddf3a912f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node.TestPut.test_power_state_by_name_unsupported [0.083944s] ... 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-a6f28a83-4f79-4616-ab38-5a12bb40b676
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_not_list [0.047417s] ... 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_node.TestListNodes.test_get_custom_fields_invalid_fields [0.079208s] ... 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-bf910851-2934-4a8b-8583-5fec4ca65886
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field spongebob is not a valid field.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_args_value_invalid [0.067511s] ... 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.TestPatch.test_remove_chassis_uuid [0.116577s] ... 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-988bf3c7-ca03-4efa-a904-86026547ade7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:31.112092+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"}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_off_with_disable_power_off [0.107070s] ... 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-de94942b-2f3b-4dc5-9c55-b6bb03ff131b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_interface_value_invalid [0.063279s] ... 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_node.TestListNodes.test_get_description_field [0.075499s] ... 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-afca1984-697f-45ea-9b60-8977dc747dfe
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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"}]}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_uuid_invalid_api_version [0.099902s] ... 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-6622c1b0-a251-4e9b-b0e7-cdcd62f94d71
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_key_invalid [0.055602s] ... 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_node.TestListNodes.test_get_disable_power_off_fields [0.090055s] ... 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-c93fadf1-5e19-4ee1-807d-d14ca132bfb7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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"}]}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_internal_field [0.052262s] ... 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-b8989fcf-dedc-4e9e-804e-351300b76d16
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_min_length_step_value [0.063306s] ... 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_node.TestListNodes.test_get_indicator_state [0.088629s] ... 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-a2e459e9-97e1-4029-a214-cfd3cb51f2d8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_interface [0.060210s] ... 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.TestPatch.test_remove_mandatory_field [0.109964s] ... 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-e661526a-6968-4b88-a8b9-15626f5dd654
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_step_key [0.057238s] ... 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.TestPatch.test_remove_non_existent_property_fail [0.054751s] ... 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-9bfa0f14-e2d4-49c0-893f-afd70ba66a08
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_indicator_state_iface_not_supported [0.087633s] ... 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-2d81f12a-8fe4-4869-967c-f89c3f1bfcf5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_step_value [0.070712s] ... 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_node.TestListNodes.test_get_indicator_state_versioning [0.081857s] ... 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-37bfb738-db97-4807-8022-f009c79e51da
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_ok [0.100472s] ... 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-ad2c0314-0666-4b11-baaf-abb464db277f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:31.531971+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_node.TestCheckCleanSteps.test__check_clean_steps_step_not_dict [0.092604s] ... 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.TestPatch.test_remove_uuid [0.082861s] ... 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-2cbd88cb-4744-4164-a7ab-b214be207c57
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_invalid_soft_ver [0.486777s] ... 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-03ab77f1-09c5-457c-9b6d-156dfcd0deaf
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node.TestListNodes.test_get_lessee_field [0.141077s] ... 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-39a16944-2407-40af-863e-e17230bff085
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node.TestPut.test_power_state_power_on_invalid_timeout_no_ver [0.072654s] ... 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-32fbe8a5-4245-41c2-93c4-fc467d4242a3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_chassis_id [0.085580s] ... 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-570cd240-4b88-499f-a54d-6c9264323feb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_valid_soft_ver [0.038108s] ... 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-31c3d70f-1da5-4ac6-821d-db1131604cb6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_invalid_soft_ver [0.036187s] ... 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-6ba467b4-cad0-41c8-9793-33a8e713a8c5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.26
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_network_interface_fields [0.120183s] ... 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-39e470aa-11e1-49b3-a643-8531cb773bc4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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"}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_no_ver [0.047528s] ... 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-c5f69809-2cad-4297-86d5-4277b2fde4c4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{2} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_valid [0.220486s] ... 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.TestPatch.test_replace_chassis_uuid [0.130951s] ... 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-8e21786a-42cd-4dc0-9fa4-f6ffeb8e37ec
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:31.805532+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_node.TestPut.test_power_state_power_on_no_timeout_valid_soft_ver [0.040390s] ... 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-2c9d183e-a2b8-4b67-a569-f9e30d928aad
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.27
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_network_interface_fields_invalid_api_version [0.083810s] ... 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-5e494582-d813-423f-a5e6-93d3c8fbee45
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test_check__check_steps_wrappers [0.071361s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_consoled_enabled [0.068317s] ... 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-d017dc0d-1837-475f-beb9-cfbd27fe6182
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_invalid_soft_ver [0.077874s] ... 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-c85e27c1-058d-4ac0-89c1-ced4c0366e63
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeInventory.test_get_inventory [0.085209s] ... 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-859216e9-f65b-4da7-b413-53e0f0e72e35
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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"}]}}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor [0.139051s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?conductor=rocky.rocks WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-16ad31b9-5f1e-4a82-8526-97f6b184fcd6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-b7acdf4f-3a21-400d-a058-3a7d5bf85a78
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.49
{"nodes": [{"uuid": "7d49b68c-a396-45d5-84a8-7457feb8504c", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/7d49b68c-a396-45d5-84a8-7457feb8504c", "rel": "self"}, {"href": "http://localhost/nodes/7d49b68c-a396-45d5-84a8-7457feb8504c", "rel": "bookmark"}]}, {"uuid": "b7ab112b-f0b0-4446-b785-3af05f66947a", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/b7ab112b-f0b0-4446-b785-3af05f66947a", "rel": "self"}, {"href": "http://localhost/nodes/b7ab112b-f0b0-4446-b785-3af05f66947a", "rel": "bookmark"}]}]}
GET /v1/nodes?conductor=fake.conductor WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-ad2815f3-9184-4042-a9d3-d1e704c4b3d2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.49
{"nodes": [{"uuid": "b7ab112b-f0b0-4446-b785-3af05f66947a", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/b7ab112b-f0b0-4446-b785-3af05f66947a", "rel": "self"}, {"href": "http://localhost/nodes/b7ab112b-f0b0-4446-b785-3af05f66947a", "rel": "bookmark"}]}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_no_ver [0.084272s] ... 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-cac46c41-1593-472c-a9b1-96b67900dadd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.TestNodeInventory.test_get_inventory_no_inventory [0.081132s] ... 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-4737e095-1150-4649-a04f-4b17a6682687
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_valid_soft_ver [0.092530s] ... 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-da1bb864-b07a-4a3b-9d75-eae4245bce15
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.27
{2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeInventory.test_get_old_version [0.072642s] ... 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\": \"\"}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_group [0.170031s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?conductor_group=group1 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-f4cd944b-f752-48fe-9fb1-70f3c06eac6a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.46
{"nodes": [{"uuid": "c3e657dc-b113-4401-9424-df42484a177f", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/c3e657dc-b113-4401-9424-df42484a177f", "rel": "self"}, {"href": "http://localhost/nodes/c3e657dc-b113-4401-9424-df42484a177f", "rel": "bookmark"}]}]}
GET /v1/nodes?conductor_group=group2 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-42ea1bbd-0dd3-4039-8a99-b344d5631b4c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.46
{"nodes": [{"uuid": "c0c6664f-90ee-4360-bc26-76e56b449813", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/c0c6664f-90ee-4360-bc26-76e56b449813", "rel": "self"}, {"href": "http://localhost/nodes/c0c6664f-90ee-4360-bc26-76e56b449813", "rel": "bookmark"}]}]}
GET /v1/nodes/detail?conductor_group=group1 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-495b01f0-a0a0-447e-bf09-a0095093ee2a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.46
{"nodes": [{"uuid": "c3e657dc-b113-4401-9424-df42484a177f", "created_at": "2025-05-30T17:26:32.140069+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/c3e657dc-b113-4401-9424-df42484a177f", "rel": "self"}, {"href": "http://localhost/nodes/c3e657dc-b113-4401-9424-df42484a177f", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/c3e657dc-b113-4401-9424-df42484a177f/ports", "rel": "self"}, {"href": "http://localhost/nodes/c3e657dc-b113-4401-9424-df42484a177f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/c3e657dc-b113-4401-9424-df42484a177f/states", "rel": "self"}, {"href": "http://localhost/nodes/c3e657dc-b113-4401-9424-df42484a177f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/c3e657dc-b113-4401-9424-df42484a177f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/c3e657dc-b113-4401-9424-df42484a177f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/c3e657dc-b113-4401-9424-df42484a177f/volume", "rel": "self"}, {"href": "http://localhost/nodes/c3e657dc-b113-4401-9424-df42484a177f/volume", "rel": "bookmark"}]}]}
GET /v1/nodes/detail?conductor_group=group2 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-ab87f954-08dd-4f05-9
    d84-b703617ed591
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.46
{"nodes": [{"uuid": "c0c6664f-90ee-4360-bc26-76e56b449813", "created_at": "2025-05-30T17:26:32.152797+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/c0c6664f-90ee-4360-bc26-76e56b449813", "rel": "self"}, {"href": "http://localhost/nodes/c0c6664f-90ee-4360-bc26-76e56b449813", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/c0c6664f-90ee-4360-bc26-76e56b449813/ports", "rel": "self"}, {"href": "http://localhost/nodes/c0c6664f-90ee-4360-bc26-76e56b449813/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/c0c6664f-90ee-4360-bc26-76e56b449813/states", "rel": "self"}, {"href": "http://localhost/nodes/c0c6664f-90ee-4360-bc26-76e56b449813/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/c0c6664f-90ee-4360-bc26-76e56b449813/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/c0c6664f-90ee-4360-bc26-76e56b449813/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/c0c6664f-90ee-4360-bc26-76e56b449813/volume", "rel": "self"}, {"href": "http://localhost/nodes/c0c6664f-90ee-4360-bc26-76e56b449813/volume", "rel": "bookmark"}]}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_invalid_soft_ver [0.105674s] ... 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-5cdd6cfd-264f-49a9-89cd-bbff03f74d9e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node.TestListNodes.test_get_nodes_by_conductor_group_not_allowed [0.084737s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?conductor_group=group1 WITH {} GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-48698b8a-97e4-4cb1-9f60-ae9b9a39be2e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-46f1672c-5670-4358-abec-b8a304489a66
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_no_ver [0.084522s] ... 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-29eef3ce-224f-47f6-a0ac-d7eb83bb9537
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.TestPatch.test_replace_internal_field [0.428805s] ... 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-f8927a33-ee97-4d6a-85f7-47f821e52a11
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeParentNodePost.test_create_node_with_named_parent_node_succeeds [0.190870s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/nodes WITH {'uuid': 'd4cf9ea8-cd56-4a72-a66a-1ab6efec3bda', '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/d4cf9ea8-cd56-4a72-a66a-1ab6efec3bda
Openstack-Request-Id: req-e93e9cea-7815-41d4-90db-a2ab72158f70
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.83
{"uuid": "d4cf9ea8-cd56-4a72-a66a-1ab6efec3bda", "created_at": "2025-05-30T17:26:32.381536+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/d4cf9ea8-cd56-4a72-a66a-1ab6efec3bda", "rel": "self"}, {"href": "http://localhost/nodes/d4cf9ea8-cd56-4a72-a66a-1ab6efec3bda", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/d4cf9ea8-cd56-4a72-a66a-1ab6efec3bda/ports", "rel": "self"}, {"href": "http://localhost/nodes/d4cf9ea8-cd56-4a72-a66a-1ab6efec3bda/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d4cf9ea8-cd56-4a72-a66a-1ab6efec3bda/states", "rel": "self"}, {"href": "http://localhost/nodes/d4cf9ea8-cd56-4a72-a66a-1ab6efec3bda/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d4cf9ea8-cd56-4a72-a66a-1ab6efec3bda/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d4cf9ea8-cd56-4a72-a66a-1ab6efec3bda/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d4cf9ea8-cd56-4a72-a66a-1ab6efec3bda/volume", "rel": "self"}, {"href": "http://localhost/nodes/d4cf9ea8-cd56-4a72-a66a-1ab6efec3bda/volume", "rel": "bookmark"}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_valid_soft_ver [0.089063s] ... 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-1ebe3a48-3af0-416b-b837-aa95964e4519
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_no_valid_host [0.128227s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?conductor=like.shadows WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-d739016a-b757-4710-bd47-465508c6dc03
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-b9384df7-16f6-4e3f-b71a-e37821738f71
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-f925d981-b6f1-4218-b383-879384d51d49
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node.TestPut.test_power_state_soft_power_off_no_timeout_invalid_soft_ver [0.085964s] ... 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-301631fa-3f24-4982-bea4-a87aa2c95ceb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node.TestListNodes.test_get_nodes_by_conductor_not_allowed [0.095678s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?conductor=rocky.rocks WITH {} GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-b4efca9d-c153-483d-b74e-f0b40d8b06cd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeParentNodePost.test_create_node_with_parent_node [0.186308s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/nodes WITH {'uuid': '454cfe4d-7b98-495e-82a2-13fdfe2e86df', '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/454cfe4d-7b98-495e-82a2-13fdfe2e86df
Openstack-Request-Id: req-af7b1638-d4e2-43cb-a092-6eb044d1c976
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.83
{"uuid": "454cfe4d-7b98-495e-82a2-13fdfe2e86df", "created_at": "2025-05-30T17:26:32.553087+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/454cfe4d-7b98-495e-82a2-13fdfe2e86df", "rel": "self"}, {"href": "http://localhost/nodes/454cfe4d-7b98-495e-82a2-13fdfe2e86df", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/454cfe4d-7b98-495e-82a2-13fdfe2e86df/ports", "rel": "self"}, {"href": "http://localhost/nodes/454cfe4d-7b98-495e-82a2-13fdfe2e86df/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/454cfe4d-7b98-495e-82a2-13fdfe2e86df/states", "rel": "self"}, {"href": "http://localhost/nodes/454cfe4d-7b98-495e-82a2-13fdfe2e86df/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/454cfe4d-7b98-495e-82a2-13fdfe2e86df/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/454cfe4d-7b98-495e-82a2-13fdfe2e86df/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/454cfe4d-7b98-495e-82a2-13fdfe2e86df/volume", "rel": "self"}, {"href": "http://localhost/nodes/454cfe4d-7b98-495e-82a2-13fdfe2e86df/volume", "rel": "bookmark"}]}
GET /v1/nodes/454cfe4d-7b98-495e-82a2-13fdfe2e86df WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-91c37219-0b19-43b3-977e-f19b3da85483
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.83
{"uuid": "454cfe4d-7b98-495e-82a2-13fdfe2e86df", "created_at": "2025-05-30T17:26:32.553087+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/454cfe4d-7b98-495e-82a2-13fdfe2e86df", "rel": "self"}, {"href": "http://localhost/nodes/454cfe4d-7b98-495e-82a2-13fdfe2e86df", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/454cfe4d-7b98-495e-82a2-13fdfe2e86df/ports", "rel": "self"}, {"href": "http://localhost/nodes/454cfe4d-7b98-495e-82a2-13fdfe2e86df/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/454cfe4d-7b98-495e-82a2-13fdfe2e86df/states", "rel": "self"}, {"href": "http://localhost/nodes/454cfe4d-7b98-495e-82a2-13fdfe2e86df/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/454cfe4d-7b98-495e-82a2-13fdfe2e86df/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/454cfe4d-7b98-495e-82a2-13fdfe2e86df/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/454cfe4d-7b98-495e-82a2-13fdfe2e86df/volume", "rel": "self"}, {"href": "http://localhost/nodes/454cfe4d-7b98-495e-82a2-13fdfe2e86df/volume", "rel": "bookmark"}]}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_maintenance [0.227444s] ... 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-1abe7a1b-f261-42ba-bd08-bd99bd7805a7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:32.471816+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_node.TestPut.test_power_state_soft_power_off_no_timeout_no_ver [0.091752s] ... 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-ae815793-b53c-4f2b-a3bc-dd8907700e2b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_description [0.147614s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?description_contains=cat WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-08bdaed4-1f0d-48ab-9d1d-b62c16a6877d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.51
{"nodes": [{"uuid": "1da43e90-0de5-46bf-a7e2-40372bc30ffb", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1da43e90-0de5-46bf-a7e2-40372bc30ffb", "rel": "self"}, {"href": "http://localhost/nodes/1da43e90-0de5-46bf-a7e2-40372bc30ffb", "rel": "bookmark"}]}]}
GET /v1/nodes?description_contains=dog WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-fa51c3da-ee8b-4ee9-9abc-8d7ee1217b10
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.51
{"nodes": [{"uuid": "5d6d6377-4656-40eb-a3f0-b8c833b65562", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/5d6d6377-4656-40eb-a3f0-b8c833b65562", "rel": "self"}, {"href": "http://localhost/nodes/5d6d6377-4656-40eb-a3f0-b8c833b65562", "rel": "bookmark"}]}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_valid_soft_ver [0.102878s] ... 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-94ce197b-d22b-4870-aa1c-cabb13a89b18
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.27
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_driver [0.111500s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?driver=ipmi WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-55d50566-f361-49a4-abb3-1a464cc1de5e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.16
{"nodes": [{"uuid": "fbf7313c-8781-4350-a26e-d4b433a6c894", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/fbf7313c-8781-4350-a26e-d4b433a6c894", "rel": "self"}, {"href": "http://localhost/nodes/fbf7313c-8781-4350-a26e-d4b433a6c894", "rel": "bookmark"}]}]}
GET /v1/nodes?driver=fake-hardware WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-0b59e126-f49c-4e50-8304-21a62e20c7dc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.16
{"nodes": [{"uuid": "d689b23c-395f-4587-9f80-8e2992ee253e", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/d689b23c-395f-4587-9f80-8e2992ee253e", "rel": "self"}, {"href": "http://localhost/nodes/d689b23c-395f-4587-9f80-8e2992ee253e", "rel": "bookmark"}]}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_invalid_soft_ver [0.094008s] ... 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-79f090cf-7871-4fff-b522-2115af7c01a9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node.TestPatch.test_replace_maintenance_by_name [0.237699s] ... 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-db49f1a7-89c5-41be-b956-881d7116b20d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:32.690557+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_get_nodes_by_driver_invalid_api_version [0.089018s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?driver=fake WITH {} GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-f98c48ca-6a62-46e5-b280-2913b791245c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node.TestPut.test_power_state_soft_power_off_valid_timeout_no_ver [0.104014s] ... 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-1be785be-ce3d-4b95-be50-e6914c54cd29
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.TestPatch.test_replace_non_existent_chassis_uuid [0.178642s] ... 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-e908d17d-d1b7-462f-a12b-319109427535
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_valid_soft_ver [0.109801s] ... 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-92499e14-b7d2-4fd3-8618-90b6bb2635ea
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.27
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_provision_updated_at [0.047736s] ... 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-13cc9912-9c73-4687-9fb7-8227c7e4a19d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeParentNodePost.test_create_node_with_parent_node_fail_wrong_version [0.518056s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/nodes WITH {'uuid': '87cbeaa6-f25e-4fdb-88fa-fe28cee6da79', '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-9aa76eb8-cab7-4277-b600-7ab775bd307b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault [0.222827s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?fault=power failure WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-c910e439-b56d-44e4-a70e-be6227b9e064
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.42
{"nodes": [{"uuid": "b9853c04-35c9-424d-bbac-1c0611a167ef", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/b9853c04-35c9-424d-bbac-1c0611a167ef", "rel": "self"}, {"href": "http://localhost/nodes/b9853c04-35c9-424d-bbac-1c0611a167ef", "rel": "bookmark"}]}]}
GET /v1/nodes?fault=clean failure WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-901e6f82-79cd-452f-adb0-e5ddeb5b2152
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.42
{"nodes": [{"uuid": "a5420d4c-f4c4-45c5-9954-fe89f396c0a0", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/a5420d4c-f4c4-45c5-9954-fe89f396c0a0", "rel": "self"}, {"href": "http://localhost/nodes/a5420d4c-f4c4-45c5-9954-fe89f396c0a0", "rel": "bookmark"}]}]}
GET /v1/nodes/detail?fault=power failure WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-7c481c09-40a0-4d73-87e8-c7b4d55d762e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.42
{"nodes": [{"uuid": "b9853c04-35c9-424d-bbac-1c0611a167ef", "created_at": "2025-05-30T17:26:33.018691+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/b9853c04-35c9-424d-bbac-1c0611a167ef", "rel": "self"}, {"href": "http://localhost/nodes/b9853c04-35c9-424d-bbac-1c0611a167ef", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/b9853c04-35c9-424d-bbac-1c0611a167ef/ports", "rel": "self"}, {"href": "http://localhost/nodes/b9853c04-35c9-424d-bbac-1c0611a167ef/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b9853c04-35c9-424d-bbac-1c0611a167ef/states", "rel": "self"}, {"href": "http://localhost/nodes/b9853c04-35c9-424d-bbac-1c0611a167ef/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b9853c04-35c9-424d-bbac-1c0611a167ef/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b9853c04-35c9-424d-bbac-1c0611a167ef/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b9853c04-35c9-424d-bbac-1c0611a167ef/volume", "rel": "self"}, {"href": "http://localhost/nodes/b9853c04-35c9-424d-bbac-1c0611a167ef/volume", "rel": "bookmark"}]}]}
GET /v1/nodes/detail?fault=clean failure WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-3cc74b3f-fcef-4f6c-a544-7a2205972125
X-Openstack-Ironic-Api-Maximum-V
    ersion: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.42
{"nodes": [{"uuid": "a5420d4c-f4c4-45c5-9954-fe89f396c0a0", "created_at": "2025-05-30T17:26:33.023334+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/a5420d4c-f4c4-45c5-9954-fe89f396c0a0", "rel": "self"}, {"href": "http://localhost/nodes/a5420d4c-f4c4-45c5-9954-fe89f396c0a0", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/a5420d4c-f4c4-45c5-9954-fe89f396c0a0/ports", "rel": "self"}, {"href": "http://localhost/nodes/a5420d4c-f4c4-45c5-9954-fe89f396c0a0/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a5420d4c-f4c4-45c5-9954-fe89f396c0a0/states", "rel": "self"}, {"href": "http://localhost/nodes/a5420d4c-f4c4-45c5-9954-fe89f396c0a0/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a5420d4c-f4c4-45c5-9954-fe89f396c0a0/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a5420d4c-f4c4-45c5-9954-fe89f396c0a0/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a5420d4c-f4c4-45c5-9954-fe89f396c0a0/volume", "rel": "self"}, {"href": "http://localhost/nodes/a5420d4c-f4c4-45c5-9954-fe89f396c0a0/volume", "rel": "bookmark"}]}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_with_disable_power_off [0.099109s] ... 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-f4361e35-508c-4307-9ef1-95c46fdb8bdb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardGets.test_filtering_by_multi_shard_as_list [0.088551s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?shard=foo&shard=bar WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-f09f76a1-2631-4237-a48c-654176ecf425
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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": "81083fdd-11b0-407e-9e37-8f418da16ed3", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/81083fdd-11b0-407e-9e37-8f418da16ed3", "rel": "self"}, {"href": "http://localhost/nodes/81083fdd-11b0-407e-9e37-8f418da16ed3", "rel": "bookmark"}]}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provide_from_manage [0.092646s] ... 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-282d67d6-8b61-44e3-81a1-188a7d4039c9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.4
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault_not_allowed [0.112769s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?fault=power failure WITH {} GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-6361b569-c813-4e05-9fc5-a043fb7e6758
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-f8e6790a-708b-498d-a5f6-5eda68e557ca
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.TestNodeShardGets.test_filtering_by_multi_shard_detail [0.081596s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?shard=foo,bar WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-d73a9527-1fea-4adb-86cb-b2b581650025
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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": "c48859b5-bb24-4764-8a6e-7b18ee260726", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/c48859b5-bb24-4764-8a6e-7b18ee260726", "rel": "self"}, {"href": "http://localhost/nodes/c48859b5-bb24-4764-8a6e-7b18ee260726", "rel": "bookmark"}]}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_already_in_progress [0.116377s] ... 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-eb2e1209-e093-4963-9ebc-bbcb29938504
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardGets.test_filtering_by_shard [0.104080s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?shard=foo WITH {'fields': 'shard'} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-694d255b-9ccc-4a45-8e53-8da1354cb6bd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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"}]}]}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault_with_invalid_fault [0.121599s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?fault=somefake WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-22eec493-1952-45fb-91c5-25f68aae6f34
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-e1623d0c-d20f-4894-b7df-40f30cf5b292
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interface_fields [0.391270s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d WITH [{'path': '/boot_interface', 'op': 'remove'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-1e0bdd3c-812e-4965-9fc9-48bfb91bffe6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "2e04d9f4-eb3f-459f-8074-096e95e95e5d", "created_at": "2025-05-30T17:26:33.148761+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/2e04d9f4-eb3f-459f-8074-096e95e95e5d", "rel": "self"}, {"href": "http://localhost/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/ports", "rel": "self"}, {"href": "http://localhost/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/states", "rel": "self"}, {"href": "http://localhost/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/volume", "rel": "self"}, {"href": "http://localhost/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/volume", "rel": "bookmark"}]}
PATCH /v1/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d WITH [{'path': '/console_interface', 'op': 'remove'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-c9015524-a77d-4132-91e9-a21465013429
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "2e04d9f4-eb3f-459f-8074-096e95e95e5d", "created_at": "2025-05-30T17:26:33.148761+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/2e04d9f4-eb3f-459f-8074-096e95e95e5d", "rel": "self"}, {"href": "http://localhost/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/ports", "rel": "self"}, {"href": "http://localhost/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/states", "rel": "self"}, {"href": "http://localhost/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/volume", "rel": "self"}, {"href": "http://localhost/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/volume", "rel": "bookmark"}]}
PATCH /v1/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d WITH [{'path': '/deploy_interface', 'op': 'remove'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-ca141112-8bd3-4bb6-a5fe-1f02ab30308b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "2e04d9f4-eb3f-459f-8074-096e95e95e5d", "created_at": "2025-05-30T17:26:33.148761+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/2e04d9f4-eb3f-459f-8074-096e95e95e5d", "rel": "self"}, {"href": "http://localhost/nodes/2e
    04d9f4-eb3f-459f-8074-096e95e95e5d", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/ports", "rel": "self"}, {"href": "http://localhost/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/states", "rel": "self"}, {"href": "http://localhost/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/volume", "rel": "self"}, {"href": "http://localhost/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/volume", "rel": "bookmark"}]}
PATCH /v1/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d WITH [{'path': '/inspect_interface', 'op': 'remove'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-05ededa9-863a-4554-a8b8-f308ec8af7fc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "2e04d9f4-eb3f-459f-8074-096e95e95e5d", "created_at": "2025-05-30T17:26:33.148761+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/2e04d9f4-eb3f-459f-8074-096e95e95e5d", "rel": "self"}, {"href": "http://localhost/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/ports", "rel": "self"}, {"href": "http://localhost/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/states", "rel": "self"}, {"href": "http://localhost/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/volume", "rel": "self"}, {"href": "http://localhost/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/volume", "rel": "bookmark"}]}
PATCH /v1/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d WITH [{'path': '/ma
    nagement_interface', 'op': 'remove'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-8540ab38-a5bf-4692-ba98-7901b013479d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "2e04d9f4-eb3f-459f-8074-096e95e95e5d", "created_at": "2025-05-30T17:26:33.148761+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/2e04d9f4-eb3f-459f-8074-096e95e95e5d", "rel": "self"}, {"href": "http://localhost/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/ports", "rel": "self"}, {"href": "http://localhost/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/states", "rel": "self"}, {"href": "http://localhost/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/volume", "rel": "self"}, {"href": "http://localhost/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/volume", "rel": "bookmark"}]}
PATCH /v1/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d WITH [{'path': '/power_interface', 'op': 'remove'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-a551ec13-268d-458f-b825-5c2b6567a47c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "2e04d9f4-eb3f-459f-8074-096e95e95e5d", "created_at": "2025-05-30T17:26:33.148761+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/2e04d9f4-eb3f-459f-8074-096e95e95e5d", "rel": "self"}, {"href": "http://localhost/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/ports", "rel": "self"}, {"href": "http://localhost/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/states", "rel": "self"}, {"href": "http://localhost/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/volume", "rel": "self"}, {"href": "http://localhost/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/volume", "rel": "bookmark"}]}
PATCH /v1/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d WITH [{'path': '/raid_interface', 'op': 'remove'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-4be685c6-f260-4a9f-b861-961099c890f7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "2e04d9f4-eb3f-459f-8074-096e95e95e5d", "created_at": "2025-05-30T17:26:33.148761+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/2e04d9f4-eb3f-459f-8074-096e95e95e5d", "rel": "self"}, {"href": "http://localhost/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d", "rel": "bookmark"}], "conductor":
     null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/ports", "rel": "self"}, {"href": "http://localhost/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/states", "rel": "self"}, {"href": "http://localhost/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/volume", "rel": "self"}, {"href": "http://localhost/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/volume", "rel": "bookmark"}]}
PATCH /v1/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d WITH [{'path': '/vendor_interface', 'op': 'remove'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-e9dcade7-d513-4c82-b4f0-46b812d9f4f7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "2e04d9f4-eb3f-459f-8074-096e95e95e5d", "created_at": "2025-05-30T17:26:33.148761+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/2e04d9f4-eb3f-459f-8074-096e95e95e5d", "rel": "self"}, {"href": "http://localhost/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/ports", "rel": "self"}, {"href": "http://localhost/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/states", "rel": "self"}, {"href": "http://localhost/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/volume", "rel": "self"}, {"href": "http://localhost/nodes/2e04d9f4-eb3f-459f-8074-096e95e95e5d/volume", "rel": "bookmark"}]}
{2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardGets.test_filtering_by_shard_detail_fails_wrong_version [0.095815s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/detail?shard=foo WITH {} GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-09b71e4e-14fd-4552-9818-f433bd87a752
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_already_in_state [0.136958s] ... 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-ad78e237-85d5-4bde-bc89-a5845881ddad
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interfaces_not_supported [0.050101s] ... 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-9c95a8c5-9390-4eed-8ae7-1689e687553a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.TestNodeShardGets.test_filtering_by_shard_fails_wrong_version [0.082775s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?shard=foo WITH {} GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-1d2afb54-5964-4a8f-8f01-4c4588edd99b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interfaces_without_driver [0.056045s] ... 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-1c72af8e-a0c9-4c71-b6a4-022a9e94d7cf
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_by_name [0.102194s] ... 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-7d637574-80a2-4f09-bb32-26722eea3891
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.5
{2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardGets.test_filtering_by_sharded [0.096694s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?sharded=true WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-e3aabad6-81c1-4222-af76-156845fe1e61
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-999d7478-5587-4c73-ac5e-f2f56220de12
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.82
{"nodes": [{"uuid": "2db23a71-0bdd-4ff9-bdcc-9c571c2daa80", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/2db23a71-0bdd-4ff9-bdcc-9c571c2daa80", "rel": "self"}, {"href": "http://localhost/nodes/2db23a71-0bdd-4ff9-bdcc-9c571c2daa80", "rel": "bookmark"}]}, {"uuid": "9db1fcc1-047a-4dfd-8a80-6c5ed3a3caa2", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/9db1fcc1-047a-4dfd-8a80-6c5ed3a3caa2", "rel": "self"}, {"href": "http://localhost/nodes/9db1fcc1-047a-4dfd-8a80-6c5ed3a3caa2", "rel": "bookmark"}]}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_by_name_unsupported [0.083267s] ... 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-64459950-29e3-4afa-b3fc-8073933a2f1e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_network_interface [0.104910s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/314d36f1-a12b-4dca-8821-4ee6f37e0938 WITH [{'path': '/network_interface', 'op': 'remove'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-b7ada014-6830-44d1-906c-85ac73d832a8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "314d36f1-a12b-4dca-8821-4ee6f37e0938", "created_at": "2025-05-30T17:26:33.656917+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/314d36f1-a12b-4dca-8821-4ee6f37e0938", "rel": "self"}, {"href": "http://localhost/nodes/314d36f1-a12b-4dca-8821-4ee6f37e0938", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/314d36f1-a12b-4dca-8821-4ee6f37e0938/ports", "rel": "self"}, {"href": "http://localhost/nodes/314d36f1-a12b-4dca-8821-4ee6f37e0938/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/314d36f1-a12b-4dca-8821-4ee6f37e0938/states", "rel": "self"}, {"href": "http://localhost/nodes/314d36f1-a12b-4dca-8821-4ee6f37e0938/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/314d36f1-a12b-4dca-8821-4ee6f37e0938/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/314d36f1-a12b-4dca-8821-4ee6f37e0938/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/314d36f1-a12b-4dca-8821-4ee6f37e0938/volume", "rel": "self"}, {"href": "http://localhost/nodes/314d36f1-a12b-4dca-8821-4ee6f37e0938/volume", "rel": "bookmark"}]}
{2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardGets.test_filtering_by_single_shard_detail [0.116067s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/detail?shard=foo WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-3bd7f5cb-899c-4869-ae02-6268f43e139d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:33.773324+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_node.TestPut.test_provision_deploy [0.129757s] ... 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-ae2c6c6d-82c1-4a41-afd7-bba29c239364
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.73
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_storage_interface [0.165598s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/66a3c4b6-f73f-4c29-8325-3937f5175684 WITH [{'path': '/storage_interface', 'op': 'remove'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-ee4b5c01-b552-4ded-bd33-73b4fd523098
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "66a3c4b6-f73f-4c29-8325-3937f5175684", "created_at": "2025-05-30T17:26:33.784162+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/66a3c4b6-f73f-4c29-8325-3937f5175684", "rel": "self"}, {"href": "http://localhost/nodes/66a3c4b6-f73f-4c29-8325-3937f5175684", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/66a3c4b6-f73f-4c29-8325-3937f5175684/ports", "rel": "self"}, {"href": "http://localhost/nodes/66a3c4b6-f73f-4c29-8325-3937f5175684/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/66a3c4b6-f73f-4c29-8325-3937f5175684/states", "rel": "self"}, {"href": "http://localhost/nodes/66a3c4b6-f73f-4c29-8325-3937f5175684/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/66a3c4b6-f73f-4c29-8325-3937f5175684/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/66a3c4b6-f73f-4c29-8325-3937f5175684/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/66a3c4b6-f73f-4c29-8325-3937f5175684/volume", "rel": "self"}, {"href": "http://localhost/nodes/66a3c4b6-f73f-4c29-8325-3937f5175684/volume", "rel": "bookmark"}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_invalid_state_request [0.084319s] ... 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-f3af747d-ff55-40cc-9af9-87499e84fd86
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_driver [0.556785s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?driver=test WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-f4d548fa-800f-498a-8aae-7da5cf5153fa
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.TestNodeShardGets.test_get_node_shard_field [0.137510s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-1a68fe47-9f63-4d9f-9963-9150c35de429
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:33.912172+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"}]}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_allowed_in_maintenance [0.129174s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/aa22b512-3835-4993-a388-e937dde10766 WITH [{'path': '/instance_uuid', 'op': 'remove'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-45e0d683-cc19-4dfa-9274-3bc01e8c8a68
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "aa22b512-3835-4993-a388-e937dde10766", "created_at": "2025-05-30T17:26:33.945910+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/aa22b512-3835-4993-a388-e937dde10766", "rel": "self"}, {"href": "http://localhost/nodes/aa22b512-3835-4993-a388-e937dde10766", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/aa22b512-3835-4993-a388-e937dde10766/ports", "rel": "self"}, {"href": "http://localhost/nodes/aa22b512-3835-4993-a388-e937dde10766/ports", "rel": "bookmark"}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_locked_with_correct_state [0.089004s] ... 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-c41c38d1-9059-4dea-b836-1194d7389144
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_provision_state [0.075156s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?provision_state=test WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-5dd7d625-4b85-404c-96c7-c8d9e9845889
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_resource_class [0.067481s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?resource_class=test WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-d10023a3-846d-4f8c-bd73-86c939dfc146
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.TestNodeShardGets.test_get_node_shard_field_fails_wrong_version [0.146477s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-ecffd4ec-39ab-4f21-9380-5202836076c8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:34.055935+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_node.TestPut.test_provision_node_in_maintenance_fail [0.115446s] ... 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-90a2fe2f-f504-4aae-a066-da7246742dc0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_allowed_in_power_transition [0.150528s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/ac818ef1-ac24-465a-a696-d9e204cc57bf WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-9faf3131-37f8-4de5-89a7-80fc732ddd37
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "ac818ef1-ac24-465a-a696-d9e204cc57bf", "created_at": "2025-05-30T17:26:34.073751+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/ac818ef1-ac24-465a-a696-d9e204cc57bf", "rel": "self"}, {"href": "http://localhost/nodes/ac818ef1-ac24-465a-a696-d9e204cc57bf", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/ac818ef1-ac24-465a-a696-d9e204cc57bf/ports", "rel": "self"}, {"href": "http://localhost/nodes/ac818ef1-ac24-465a-a696-d9e204cc57bf/ports", "rel": "bookmark"}]}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_resource_class_detail [0.072092s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/detail?resource_class=test WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-6bc63fb2-3468-4300-b672-426b219cd584
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.TestTraits.test_add_single_trait [0.127942s] ... 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-dcfd85f1-8adf-4d42-a21e-1eeecb63a5b7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.37
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_empty_password [0.122264s] ... 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-722268ca-021b-4011-8a8f-661bfe88c19d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_lessee [0.150404s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?lessee=project1 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-f38a3bdd-5d21-4652-9abf-dab8510323f4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.65
{"nodes": [{"uuid": "5bd2e739-8e21-46ba-b3b4-4451977001d1", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/5bd2e739-8e21-46ba-b3b4-4451977001d1", "rel": "self"}, {"href": "http://localhost/nodes/5bd2e739-8e21-46ba-b3b4-4451977001d1", "rel": "bookmark"}]}]}
GET /v1/nodes?lessee=project2 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-64cabaf4-0abe-43d8-b44c-bc0f042ee47e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.65
{"nodes": [{"uuid": "346362fe-4f65-4e1b-b17e-aed6929608ae", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/346362fe-4f65-4e1b-b17e-aed6929608ae", "rel": "self"}, {"href": "http://localhost/nodes/346362fe-4f65-4e1b-b17e-aed6929608ae", "rel": "bookmark"}]}]}
GET /v1/nodes/detail?lessee=project1 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-acd9b7d7-c2da-48e8-8bbd-9871741b1037
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.65
{"nodes": [{"uuid": "5bd2e739-8e21-46ba-b3b4-4451977001d1", "created_at": "2025-05-30T17:26:34.259459+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/5bd2e739-8e21-46ba-b3b4-4451977001d1", "rel": "self"}, {"href": "http://localhost/nodes/5bd2e739-8e21-46ba-b3b4-4451977001d1", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/5bd2e739-8e21-46ba-b3b4-4451977001d1/ports", "rel": "self"}, {"href": "http://localhost/nodes/5bd2e739-8e21-46ba-b3b4-4451977001d1/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/5bd2e739-8e21-46ba-b3b4-4451977001d1/states", "rel": "self"}, {"href": "http://localhost/nodes/5bd2e739-8e21-46ba-b3b4-4451977001d1/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/5bd2e739-8e21-46ba-b3b4-4451977001d1/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/5bd2e739-8e21-46ba-b3b4-4451977001d1/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/5bd2e739-8e21-46ba-b3b4-4451977001d1/volume", "rel": "self"}, {"href": "http://localhost/nodes/5bd2e739-8e21-46ba-
    b3b4-4451977001d1/volume", "rel": "bookmark"}]}]}
GET /v1/nodes/detail?lessee=project2 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-3e4249fd-8fba-402a-8e52-f4d25d475c7b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.65
{"nodes": [{"uuid": "346362fe-4f65-4e1b-b17e-aed6929608ae", "created_at": "2025-05-30T17:26:34.261441+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/346362fe-4f65-4e1b-b17e-aed6929608ae", "rel": "self"}, {"href": "http://localhost/nodes/346362fe-4f65-4e1b-b17e-aed6929608ae", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/346362fe-4f65-4e1b-b17e-aed6929608ae/ports", "rel": "self"}, {"href": "http://localhost/nodes/346362fe-4f65-4e1b-b17e-aed6929608ae/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/346362fe-4f65-4e1b-b17e-aed6929608ae/states", "rel": "self"}, {"href": "http://localhost/nodes/346362fe-4f65-4e1b-b17e-aed6929608ae/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/346362fe-4f65-4e1b-b17e-aed6929608ae/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/346362fe-4f65-4e1b-b17e-aed6929608ae/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/346362fe-4f65-4e1b-b17e-aed6929608ae/volume", "rel": "self"}, {"href": "http://localhost/nodes/346362fe-4f65-4e1b-b17e-aed6929608ae/volume", "rel": "bookmark"}]}]}
{2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_if_node_locked [0.101995s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PUT /v1/nodes/node-39/traits/CUSTOM_3 WITH {} GOT Response: 409 Conflict
Content-Type: application/json
Openstack-Request-Id: req-a34ec221-6c62-4fdb-b0f5-70a0b88e6696
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_automated_clean [0.196006s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/e0627086-ca1a-459c-a0a8-c5cc10909de9 WITH [{'path': '/automated_clean', 'value': True, 'op': 'replace'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-43883e36-f037-4872-bc55-22faa51174ee
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.47
{"uuid": "e0627086-ca1a-459c-a0a8-c5cc10909de9", "created_at": "2025-05-30T17:26:34.249562+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/e0627086-ca1a-459c-a0a8-c5cc10909de9", "rel": "self"}, {"href": "http://localhost/nodes/e0627086-ca1a-459c-a0a8-c5cc10909de9", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e0627086-ca1a-459c-a0a8-c5cc10909de9/ports", "rel": "self"}, {"href": "http://localhost/nodes/e0627086-ca1a-459c-a0a8-c5cc10909de9/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e0627086-ca1a-459c-a0a8-c5cc10909de9/states", "rel": "self"}, {"href": "http://localhost/nodes/e0627086-ca1a-459c-a0a8-c5cc10909de9/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e0627086-ca1a-459c-a0a8-c5cc10909de9/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e0627086-ca1a-459c-a0a8-c5cc10909de9/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e0627086-ca1a-459c-a0a8-c5cc10909de9/volume", "rel": "self"}, {"href": "http://localhost/nodes/e0627086-ca1a-459c-a0a8-c5cc10909de9/volume", "rel": "bookmark"}]}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_lessee_not_allowed [0.069472s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?lessee=project1 WITH {} GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-8e6149ed-e615-47a4-b7e4-3f409f3dbc77
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-5ac9ef70-ff69-4eca-a943-a6d76a76dbda
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node.TestPut.test_provision_rescue_in_allowed_states [0.177541s] ... 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-34ee8f4c-febf-4023-a64d-18fe292eda64
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-c6268165-1897-4969-8eb4-2e9dcb20a265
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-b4ad5820-8ae7-480a-890d-8e1a08d3ec53
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-cd4e2c32-137b-4c11-8220-bdf8bc15ac80
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.38
{2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_if_node_not_found [0.110092s] ... 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-37c54dfe-1328-4b0d-8369-b60defe19a70
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_automated_clean_old_api [0.098478s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/d5c353f3-09d6-4c71-9def-5d4c15c6b1f9 WITH [{'path': '/automated_clean', 'value': True, 'op': 'replace'}] GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-c2139828-1d9c-4659-9332-b42c9214a675
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_nodes_by_owner [0.134902s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?owner=fred WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-70290d8a-d5fb-40a9-8fb1-f6541ab91df1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.50
{"nodes": [{"uuid": "1f15ad44-203f-4bb0-957a-f3aa9994ed67", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1f15ad44-203f-4bb0-957a-f3aa9994ed67", "rel": "self"}, {"href": "http://localhost/nodes/1f15ad44-203f-4bb0-957a-f3aa9994ed67", "rel": "bookmark"}]}]}
GET /v1/nodes?owner=bob WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-d9e9c353-b769-4199-b18a-81efc2b8f940
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.50
{"nodes": [{"uuid": "a7929863-fb42-4f04-be73-fefd44d18df4", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/a7929863-fb42-4f04-be73-fefd44d18df4", "rel": "self"}, {"href": "http://localhost/nodes/a7929863-fb42-4f04-be73-fefd44d18df4", "rel": "bookmark"}]}]}
GET /v1/nodes/detail?owner=fred WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-0cafef9c-1789-4c67-8984-5f7a9f5f36d9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.50
{"nodes": [{"uuid": "1f15ad44-203f-4bb0-957a-f3aa9994ed67", "created_at": "2025-05-30T17:26:34.457892+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/1f15ad44-203f-4bb0-957a-f3aa9994ed67", "rel": "self"}, {"href": "http://localhost/nodes/1f15ad44-203f-4bb0-957a-f3aa9994ed67", "rel": "bookmark"}], "conductor": "fake.conductor", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1f15ad44-203f-4bb0-957a-f3aa9994ed67/ports", "rel": "self"}, {"href": "http://localhost/nodes/1f15ad44-203f-4bb0-957a-f3aa9994ed67/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1f15ad44-203f-4bb0-957a-f3aa9994ed67/states", "rel": "self"}, {"href": "http://localhost/nodes/1f15ad44-203f-4bb0-957a-f3aa9994ed67/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1f15ad44-203f-4bb0-957a-f3aa9994ed67/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1f15ad44-203f-4bb0-957a-f3aa9994ed67/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1f15ad44-203f-4bb0-957a-f3aa9994ed67/volume", "rel": "self"}, {"href": "http://localhost/nodes/1f15ad44-203f-4bb0-957a-f3aa9994ed67/volume", "rel": "bookmark"}]}]}
GET /v1/nodes/detail?owner=bob WITH {} GOT Response: 200 OK
Content-Type: 
    application/json
Openstack-Request-Id: req-ad0b7a06-f6f5-401b-8619-5fddc3ab6f9f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.50
{"nodes": [{"uuid": "a7929863-fb42-4f04-be73-fefd44d18df4", "created_at": "2025-05-30T17:26:34.459562+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/a7929863-fb42-4f04-be73-fefd44d18df4", "rel": "self"}, {"href": "http://localhost/nodes/a7929863-fb42-4f04-be73-fefd44d18df4", "rel": "bookmark"}], "conductor": "fake.conductor", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/a7929863-fb42-4f04-be73-fefd44d18df4/ports", "rel": "self"}, {"href": "http://localhost/nodes/a7929863-fb42-4f04-be73-fefd44d18df4/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a7929863-fb42-4f04-be73-fefd44d18df4/states", "rel": "self"}, {"href": "http://localhost/nodes/a7929863-fb42-4f04-be73-fefd44d18df4/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a7929863-fb42-4f04-be73-fefd44d18df4/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a7929863-fb42-4f04-be73-fefd44d18df4/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a7929863-fb42-4f04-be73-fefd44d18df4/volume", "rel": "self"}, {"href": "http://localhost/nodes/a7929863-fb42-4f04-be73-fefd44d18df4/volume", "rel": "bookmark"}]}]}
{2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_max_trait_limit [0.098284s] ... 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-c07040cb-b983-4cb2-b4d6-9d6d2b734cbb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_automated_clean_with_false [0.112552s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/d961f23c-2f16-4f38-9d66-ad62cef0dea8 WITH [{'path': '/automated_clean', 'value': False, 'op': 'replace'}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-9cf4eeba-066f-44d1-94c8-62afbcde56c5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_in_disallowed_states [0.175815s] ... 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-4b1b3702-e94e-4606-a159-abb4b4cd7e72
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-88e25e10-1436-462f-a2da-39e41dcd8a70
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-7f22c56d-8e76-44cb-95b1-4bd5d9f8e576
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-3e5c1e06-8af4-49ef-ba3f-1a53b743129a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_owner_not_allowed [0.081722s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?owner=fred WITH {} GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-981d27a7-f5c0-43e2-87fc-d49f992dfa76
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-b91505f4-2bab-469a-a5c7-8978c7a10eb7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_with_bad_version [0.085619s] ... 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\": \"\"}"}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_by_name_unsupported [0.116147s] ... 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-865d76d0-d1bd-4d4b-892e-f0f6d99602da
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_no_password [0.097456s] ... 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-8dd25dc6-8b4e-456e-8fd3-cd0ca5873a24
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_rejects_bad_trait [0.097502s] ... 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-9578d77f-c968-46d1-a1da-072e96edff49
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_provision_state [0.139990s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?provision_state=available WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-98cc39ed-3e1d-46d3-9406-d29328f6412f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.9
{"nodes": [{"uuid": "8b63ca5b-88de-492a-9c5f-e4c8d9d5e7b2", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/8b63ca5b-88de-492a-9c5f-e4c8d9d5e7b2", "rel": "self"}, {"href": "http://localhost/nodes/8b63ca5b-88de-492a-9c5f-e4c8d9d5e7b2", "rel": "bookmark"}]}]}
GET /v1/nodes?provision_state=deploying WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-93fd614c-c7aa-4776-98bb-7653ded7c53d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.9
{"nodes": [{"uuid": "4722ff71-6003-4ded-99b4-0e6d804fc7c6", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "deploying", "name": null, "links": [{"href": "http://localhost/v1/nodes/4722ff71-6003-4ded-99b4-0e6d804fc7c6", "rel": "self"}, {"href": "http://localhost/nodes/4722ff71-6003-4ded-99b4-0e6d804fc7c6", "rel": "bookmark"}]}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unexpected_rescue_password [0.099518s] ... 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-6fa6771b-f48e-4bd8-af63-632589442931
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_rejects_too_long_trait [0.091350s] ... 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-e5b6e554-c8e7-4585-9cc1-993b7f019d1c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_provision_state_not_allowed [0.087097s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?provision_state=test WITH {} GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-8c7dcd92-1d7e-49ba-84e3-1a9b305e28f3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.TestTraits.test_delete_all_traits [0.100333s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/node-39/traits GOT Response: 204 No Content
Openstack-Request-Id: req-8531bc18-d246-4567-9bca-7b94fdef34c5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.37
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_conductor_group [0.256720s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/38ca4201-6f47-4c26-bf2f-83c29548ba1e WITH [{'path': '/conductor_group', 'value': 'foogroup', 'op': 'add'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-642c14a3-20e2-44e8-add6-e0f890a7e875
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.46
{"uuid": "38ca4201-6f47-4c26-bf2f-83c29548ba1e", "created_at": "2025-05-30T17:26:34.826536+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/38ca4201-6f47-4c26-bf2f-83c29548ba1e", "rel": "self"}, {"href": "http://localhost/nodes/38ca4201-6f47-4c26-bf2f-83c29548ba1e", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/38ca4201-6f47-4c26-bf2f-83c29548ba1e/ports", "rel": "self"}, {"href": "http://localhost/nodes/38ca4201-6f47-4c26-bf2f-83c29548ba1e/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/38ca4201-6f47-4c26-bf2f-83c29548ba1e/states", "rel": "self"}, {"href": "http://localhost/nodes/38ca4201-6f47-4c26-bf2f-83c29548ba1e/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/38ca4201-6f47-4c26-bf2f-83c29548ba1e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/38ca4201-6f47-4c26-bf2f-83c29548ba1e/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/38ca4201-6f47-4c26-bf2f-83c29548ba1e/volume", "rel": "self"}, {"href": "http://localhost/nodes/38ca4201-6f47-4c26-bf2f-83c29548ba1e/volume", "rel": "bookmark"}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unrescue_in_allowed_states [0.150830s] ... 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-aec02a44-6e3b-43dd-b22e-defe1443b7f9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-aa2ab3a4-dec4-496b-85d1-fee544ceac9c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-0825b10c-fc70-4f51-8d4e-1c31d0eeaa31
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.38
{2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits_fails_with_bad_version [0.075857s] ... 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-2a9d9e2b-a2ca-48cf-971f-b73a0248ea34
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node.TestListNodes.test_get_nodes_by_resource_class [0.154505s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?resource_class=foo WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-ef431d53-1a02-4658-9867-86ec9944eac8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.21
{"nodes": [{"uuid": "b99297e5-4043-4c1c-aead-82c20ee8cb84", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/b99297e5-4043-4c1c-aead-82c20ee8cb84", "rel": "self"}, {"href": "http://localhost/nodes/b99297e5-4043-4c1c-aead-82c20ee8cb84", "rel": "bookmark"}]}]}
GET /v1/nodes?resource_class=bar WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-d422616f-5656-4452-8ab4-06a13ecd31e6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.21
{"nodes": [{"uuid": "68383933-715a-4cb3-80d2-043add26d477", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/68383933-715a-4cb3-80d2-043add26d477", "rel": "self"}, {"href": "http://localhost/nodes/68383933-715a-4cb3-80d2-043add26d477", "rel": "bookmark"}]}]}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_conductor_group_old_api [0.185377s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/cd302e87-6cc3-483f-9ae2-d52f6d03f3be WITH [{'path': '/conductor_group', 'value': 'foogroup', 'op': 'add'}] GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-b38d9cce-ba91-47e4-a9e7-82e95c8d3721
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node.TestTraits.test_delete_all_traits_with_chassis [0.137750s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/node-39/traits GOT Response: 204 No Content
Openstack-Request-Id: req-433a03d4-b29a-45b1-90bf-76a10c945cd7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.37
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unrescue_in_disallowed_states [0.210855s] ... 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-6178b169-4865-4251-a0da-27b14c545448
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-9c83f05f-1cb5-4868-a15e-9594bf1f74e9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-aa280fad-1f34-4cb6-adf7-341f81c57cd2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-84cfbd2f-c658-4f3e-825c-5955bde5679a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-927c212c-3fbc-44f6-bb16-adac0b13943a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_detail [0.179609s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/detail?resource_class=foo WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-b6fb0403-b16f-457e-ac13-49ad515a3faa
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.21
{"nodes": [{"uuid": "0cf4b011-d222-4f27-9d8f-b75866995548", "created_at": "2025-05-30T17:26:35.101387+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/0cf4b011-d222-4f27-9d8f-b75866995548", "rel": "self"}, {"href": "http://localhost/nodes/0cf4b011-d222-4f27-9d8f-b75866995548", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/0cf4b011-d222-4f27-9d8f-b75866995548/ports", "rel": "self"}, {"href": "http://localhost/nodes/0cf4b011-d222-4f27-9d8f-b75866995548/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/0cf4b011-d222-4f27-9d8f-b75866995548/states", "rel": "self"}, {"href": "http://localhost/nodes/0cf4b011-d222-4f27-9d8f-b75866995548/states", "rel": "bookmark"}]}]}
GET /v1/nodes/detail?resource_class=bar WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-6e4f0744-8523-45cb-a313-713440c0be52
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.21
{"nodes": [{"uuid": "568e75f0-84d9-4f35-8b3c-4d9e7c16d5a2", "created_at": "2025-05-30T17:26:35.104035+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/568e75f0-84d9-4f35-8b3c-4d9e7c16d5a2", "rel": "self"}, {"href": "http://localhost/nodes/568e75f0-84d9-4f35-8b3c-4d9e7c16d5a2", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/568e75f0-84d9-4f35-8b3c-4d9e7c16d5a2/ports", "rel": "self"}, {"href": "http://localhost/nodes/568e75f0-84d9-4f35-8b3c-4d9e7c16d5a2/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/568e75f0-84d9-4f35-8b3c-4d9e7c16d5a2/states", "rel": "self"}, {"href": "http://localhost/nodes/568e75f0-84d9-4f35-8b3c-4d9e7c16d5a2/states", "rel": "bookmark"}]}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_cleansteps_not_clean [0.051173s] ... 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-71b0e64b-9d8f-45cf-84f8-b58c6e97a12b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.4
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected types <class 'NoneType'>, <class 'list'> for clean_steps: foo\", \"debuginfo\": null}"}
{2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait [0.096928s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/node-39/traits/CUSTOM_1 GOT Response: 204 No Content
Openstack-Request-Id: req-5fc9e42f-66c9-44a9-8534-a70ff40bb9b4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.37
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_configdrive_not_active [0.046999s] ... 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-3a51e607-99bd-40e4-a822-3ed7f57d0805
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_invalid_api_version [0.080882s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?resource_class=fake WITH {} GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-059159c0-1e93-4576-971d-a7d58b1310f2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy [0.046341s] ... 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-3197abdd-c75a-4ae2-bf67-20b57f09c1b5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_invalid_api_version_detail [0.068230s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/detail?resource_class=fake WITH {} GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-ad8b7197-b2e1-4f4a-9b18-7dc49d8c7388
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.TestTraits.test_delete_trait_fails_if_node_locked [0.101223s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/node-39/traits/CUSTOM_1 GOT Response: 409 Conflict
Content-Type: application/json
Openstack-Request-Id: req-1db4d280-e2ca-4cf3-8c7b-5882ae88610a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_after_deployfail [0.051254s] ... 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-078c699b-7abd-4bdb-bda6-c21d81d3816e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_description [0.235092s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/59b5f17c-e517-4097-b651-abe69d05ae36 WITH [{'path': '/description', 'value': 'meow', 'op': 'replace'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-65a80112-216b-4c7b-a422-c71584bd4cd0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.51
{"uuid": "59b5f17c-e517-4097-b651-abe69d05ae36", "created_at": "2025-05-30T17:26:35.273956+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/59b5f17c-e517-4097-b651-abe69d05ae36", "rel": "self"}, {"href": "http://localhost/nodes/59b5f17c-e517-4097-b651-abe69d05ae36", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/59b5f17c-e517-4097-b651-abe69d05ae36/ports", "rel": "self"}, {"href": "http://localhost/nodes/59b5f17c-e517-4097-b651-abe69d05ae36/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/59b5f17c-e517-4097-b651-abe69d05ae36/states", "rel": "self"}, {"href": "http://localhost/nodes/59b5f17c-e517-4097-b651-abe69d05ae36/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/59b5f17c-e517-4097-b651-abe69d05ae36/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/59b5f17c-e517-4097-b651-abe69d05ae36/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/59b5f17c-e517-4097-b651-abe69d05ae36/volume", "rel": "self"}, {"href": "http://localhost/nodes/59b5f17c-e517-4097-b651-abe69d05ae36/volume", "rel": "bookmark"}]}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_traits_not_allowed [0.058627s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?traits=CUSTOM_TRAIT_1 WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-0d58dfd2-7f99-428b-b90e-4515b1d6ee72
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: traits\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive [0.059122s] ... 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-fead4545-abff-4a7d-9256-332387c7ae5c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_node_not_found [0.090077s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/node-39/traits/CUSTOM_1 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-6c2c783d-d065-4bf0-8bbc-5eaf2bfb74c5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_traits_not_allowed_detail [0.070386s] ... 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-68e51391-b133-495e-8e6a-666e92e554ce
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: traits\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_as_dict [0.057175s] ... 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-a4697d9f-98f3-4a2c-a70f-da4b382dbeaf
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.56
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_description_oversize [0.109461s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/80dddc61-4980-4e4d-9bda-edfbd3a94316 WITH [{'path': '/description', 'value': '123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812
    3456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678last weed', 'op': 'replace'}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-50d04d99-e6b3-49d4-ac3b-1d468e4a9475
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_trait_not_found [0.100212s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/node-39/traits/CUSTOM_12 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-14f724b2-0d0c-4396-9f5a-de83dae27237
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_as_dict_all_fields [0.071959s] ... 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-2d38a14d-8bea-4538-bca9-282a5415c236
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.60
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_invalid_type [0.041167s] ... 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-3850c11c-9a86-415c-9b04-ba7dfc72ff60
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.60
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected types <class 'NoneType'>, <class 'dict'>, <class 'str'> for configdrive: ['aabb']\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one [0.126946s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-dec10918-26b5-43df-ae06-224b626eb3e2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:26:35.566027+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_node.TestPut.test_provision_with_deploy_configdrive_not_base64 [0.068602s] ... 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-ef71fa2c-482d-4d6c-9106-7f3e74934502
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_with_bad_version [0.132772s] ... 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-bed86222-cb85-4ab7-8d9e-0d3097520916
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_fails_bad_driver [0.213448s] ... 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-5b541ced-55be-4a46-adee-1c114f83925a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_get_one_configdrive_dict [0.107182s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-6dcd1397-9a01-4987-bcd1-c6943d2453a6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:26:35.669857+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_node.TestPut.test_provision_with_deploy_configdrive_url [0.108333s] ... 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-fedbfe8d-fa43-485e-9821-bf69dbd7d795
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_fails_bad_driver_info [0.099236s] ... 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-767e3910-f115-44f3-a4a7-fa891075fc6b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_custom_fields [0.091377s] ... 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-993f7864-4f2a-45e0-bbcc-3df0e5d71b0c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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"}]}
{2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits [0.144589s] ... 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-d860a274-323b-48cf-bfc3-5cad8b9acade
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.37
{"traits": ["CUSTOM_1", "CUSTOM_2"]}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_fails_on_disabled_bios_boot_mode [0.059803s] ... 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-1ec4b5d3-f772-452a-88a3-dd923d0b7b77
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_fails_on_disabled_uefi_boot_mode [0.047494s] ... 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-a59ebfce-5cb4-47fc-953e-629f8a81bb59
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node.TestPut.test_provision_with_deploy_deploy_steps [0.132990s] ... 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-7fee5458-a10b-4a01-8552-aeb6e97391ec
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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)
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_custom_fields_as_list [0.111426s] ... 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-cfd77805-b89a-42ca-98c4-d4fde8313270
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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"}]}
{2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits_fails_with_bad_version [0.115776s] ... 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-13bf2574-896b-4818-9b5c-938a02022eea
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_fails_on_invalid_boot_mode [0.043467s] ... ok
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_deploy_steps_fail [0.096722s] ... 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-d7d1cc86-706c-40d1-813b-2288ee4cf93b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_custom_fields_show_password [0.093348s] ... 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-cce034c6-082a-4cc0-9537-6620073aba4c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.TestTraits.test_get_all_traits_fails_with_node_not_found [0.124918s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/badname/traits WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-b2959a8f-8267-4ee2-b0a2-ac635306f610
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_deleted_chassis [0.083905s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-810a767d-b72c-4a21-8af7-cf30103cf8ce
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:26:36.075254+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_node.TestPut.test_provision_with_rebuild [0.102005s] ... 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-cae8b738-d91c-4485-86fb-482e0478a7fb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_no_add_single_trait_via_body [0.128465s] ... 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-47a4cf70-5744-4225-a5d3-345bdfdab62b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node.TestListNodes.test_get_one_with_double_json_in_name [0.125767s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/node.json.json WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-9b8ed7c9-38c5-464b-9293-ca22f3714c7d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:26:36.176251+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"}]}
{2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_no_add_single_trait_via_body_2 [0.058037s] ... 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-c8b65ce1-c6bb-4f05-8c5e-93f6741f7455
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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/<node identifier>/traits/<trait> with no body, or all node traits may be replaced via PUT /v1/nodes/<node identifier>/traits with the list of traits specified in the request body.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_configdrive [0.158790s] ... 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-5de02ddf-f14a-484a-a5c2-61e84aa1d9fd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.35
{2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits [0.072427s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PUT /v1/nodes/node-39/traits WITH {'traits': ['CUSTOM_3']} GOT Response: 204 No Content
Openstack-Request-Id: req-8b8f7aa1-d776-474d-9ff0-efe57b469ecd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.37
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_json [0.137770s] ... 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-aeca0b3d-40a9-43fd-93c7-64fd1c44222f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:36.330628+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"}]}
{2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_empty [0.044867s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PUT /v1/nodes/node-39/traits WITH {'traits': []} GOT Response: 204 No Content
Openstack-Request-Id: req-bc02980a-f6ed-4718-9678-eed565ed905b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.37
{2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_fails_with_bad_version [0.044495s] ... 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\": \"\"}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_deploy_steps [0.172302s] ... 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-8c0fae92-242c-4e5c-ab45-c4c85d898940
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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)
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_json_in_name [0.105554s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/node.json WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-6337ea12-a81a-4fa3-a19d-106eaff4fec9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:26:36.454447+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.TestTraits.test_set_all_traits_rejects_bad_trait [0.063580s] ... 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-419e9275-0c81-45b4-8a83-13c7983c36ff
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_unsupported_configdrive [0.097988s] ... 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-2dd489a2-c096-4592-a056-7cd01eeb1158
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.TestTraits.test_set_all_traits_rejects_no_body [0.066870s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PUT /v1/nodes/node-39/traits WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-e492e072-8e38-4ff2-825f-3cce3e1e5b72
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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/<node identifier>/traits/<trait> with no body, or all node traits may be replaced via PUT /v1/nodes/<node identifier>/traits with the list of traits specified in the request body.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_json_not_found [0.079071s] ... 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-dcd23f2b-01f3-4cf0-aa31-73a250494e9d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123.json could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_too_long_trait [0.089435s] ... 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-6d8c9e0c-bcdd-4ac1-a15f-305853a46293
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down [0.123519s] ... 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-80c4c2ed-9097-41f4-a041-989a0a88b09c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_no_agent_secret [0.102400s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-58901140-08d7-4005-9c5e-18907caa6dda
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:36.641625+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.115324s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/test.1 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-49c59672-76f2-4b43-b052-6181068a814d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:26:36.745619+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.TestTraits.test_set_all_traits_with_chassis [0.155665s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PUT /v1/nodes/node-39/traits WITH {'traits': ['CUSTOM_3']} GOT Response: 204 No Content
Openstack-Request-Id: req-0d15381b-86da-4c1d-b62f-763305ed5d44
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.37
{2} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_chassis_notification [0.055765s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_owner_fields [0.091285s] ... 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-5cb4da9e-c692-46b0-a14f-20fe5968a868
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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"}]}
{2} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_common_params [0.044960s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_UPDATE_ALLOWED_STATES [0.986195s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/6b94a16c-32c0-48df-a2d2-f557ca57a45a WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-6138b1ae-6d83-4e74-a946-4299637e31cd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "6b94a16c-32c0-48df-a2d2-f557ca57a45a", "created_at": "2025-05-30T17:26:36.024534+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/6b94a16c-32c0-48df-a2d2-f557ca57a45a", "rel": "self"}, {"href": "http://localhost/nodes/6b94a16c-32c0-48df-a2d2-f557ca57a45a", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/6b94a16c-32c0-48df-a2d2-f557ca57a45a/ports", "rel": "self"}, {"href": "http://localhost/nodes/6b94a16c-32c0-48df-a2d2-f557ca57a45a/ports", "rel": "bookmark"}]}
PATCH /v1/nodes/27ce22e9-d740-462b-a742-be32024d2271 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-d1a6050f-7da8-4ce5-a52f-061db675e0ef
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "27ce22e9-d740-462b-a742-be32024d2271", "created_at": "2025-05-30T17:26:36.101650+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/27ce22e9-d740-462b-a742-be32024d2271", "rel": "self"}, {"href": "http://localhost/nodes/27ce22e9-d740-462b-a742-be32024d2271", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/27ce22e9-d740-462b-a742-be32024d2271/ports", "rel": "self"}, {"href": "http://localhost/nodes/27ce22e9-d740-462b-a742-be32024d2271/ports", "rel": "bookmark"}]}
PATCH /v1/nodes/813ef5a2-824a-4023-b7a8-d9c4f9fc5103 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-6ee42e8e-7489-41a9-bf34-423feb081ad4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "813ef5a2-824a-4023-b7a8-d9c4f9fc5103", "created_at": "2025-05-30T17:26:36.147993+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/813ef5a2-824a-4023-b7a8-d9c4f9fc5103", "rel": "self"}, {"href": "http://localhost/nodes/813ef5a2-824a-4023-b7a8-d9c4f9fc5103", "rel": "bookmark"}
    ], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/813ef5a2-824a-4023-b7a8-d9c4f9fc5103/ports", "rel": "self"}, {"href": "http://localhost/nodes/813ef5a2-824a-4023-b7a8-d9c4f9fc5103/ports", "rel": "bookmark"}]}
PATCH /v1/nodes/39f9df11-9e7e-4bd7-b6d2-aedbc0320955 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-971e12f5-59e9-46df-821f-d315d8b3fd10
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "39f9df11-9e7e-4bd7-b6d2-aedbc0320955", "created_at": "2025-05-30T17:26:36.188469+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/39f9df11-9e7e-4bd7-b6d2-aedbc0320955", "rel": "self"}, {"href": "http://localhost/nodes/39f9df11-9e7e-4bd7-b6d2-aedbc0320955", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/39f9df11-9e7e-4bd7-b6d2-aedbc0320955/ports", "rel": "self"}, {"href": "http://localhost/nodes/39f9df11-9e7e-4bd7-b6d2-aedbc0320955/ports", "rel": "bookmark"}]}
PATCH /v1/nodes/e680bc85-39ce-4c1d-ac7c-f891867e534d WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-5c3032e6-565b-41c2-b6f3-d33c938ec40d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "e680bc85-39ce-4c1d-ac7c-f891867e534d", "created_at": "2025-05-30T17:26:36.254208+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/e680bc85-39ce-4c1d-ac7c-f891867e534d", "rel": "self"}, {"href": "http://localhost/nodes/e680bc85-39ce-4c1d-ac7c-f891867e534d", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e680bc85-39ce-4c1d-ac7c-f891867e534d/ports", "rel": "self"}, {"href": "http://localhost/nodes/e680bc85-39ce-4c1d-ac7c-f891867e534d/ports", "rel": "bookmark"}]}
PATCH /v1/nodes/3f38d591-8458-464a-a37a-57059fd39232 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-dbec80a2-91fe-45a8-be3b-a78f982865f8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "3f38d591-8458-464a-a37a-57059fd39232", "created_at": "2025-05-30T17:26:36.340452+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/3f38d591-8458-464a-a37a-57059fd39232", "rel": "self"}, {"href": "http://localhost/nodes/3f38d591-8458-464a-a37a-57059fd39232", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/3f38d591-8458-464a-a37a-57059fd39232/ports", "rel": "self"}, {"href": "http://localhost/nodes/3f38d591-8458-464a-a37a-57059fd39232/ports", "rel": "bookmark"}]}
PATCH /v1/nodes/33411bdc-c32a-42a4-afae-5e8024a52f33 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-96c18b33-86c3-4037-81f9-6d8910d94f66
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "33411bdc-c32a-42a4-afae-5e8024a52f33", "created_at": "2025-05-30T17:26:36.401732+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/33411bdc-c32a-42a4-afae-5e8024a52f33", "rel": "self"}, {"href": "http://localhost/nodes/33411bdc-c32a-42a4-afae-5e8024a52f33", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/33411bdc-c32a-42a4-afae-5e8024a52f33/ports", "rel": "self"}, {"href": "http://localhost/nodes/33411bdc-c32a-42a4-afae-5e8024a52f33/ports", "rel": "bookmark"}]}
PATCH /v1/nodes/96fb24d2-af19-42f0-b463-f4c615112673 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-0408593a-d47d-4fcc-bf8e-77ef1efdb4c9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "96fb24d2-af19-42f0-b463-f4c615112673", "created_at": "2025-05-30T17:26:36.478531+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/96fb24d2-af19-42f0-b463-f4c615112673", "rel": "self"}, {"href": "http://localhost/nodes/96fb24d2-af19-42f0-b463-f4c615112673", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/96fb24d2-af19-42f0-b463-f4c615112673/ports", "rel": "self"}, {"href": "http://localhost/nodes/96fb24d2-af19-42f0-b463-f4c615112673/ports", "rel": "bookmark"}]}
PATCH /v1/nodes/9549bf02-48ee-41b6-8314-0d38b5736dd6 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-6bc5fad8-f721-4081-b411-41aab87b1391
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "9549bf02-48ee-41b6-8314-0d38b5736dd6", "created_at": "2025-05-30T17:26:36.548995+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/9549bf02-48ee-41b6-8314-0d38b5736dd6", "rel": "self"}, {"href": "http://localhost/nodes/9549bf02-48ee-41b6-8314-0d38b5736dd6", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/9549bf02-48ee-41b6-8314-0d38b5736dd6/ports", "rel": "self"}, {"href": "http://localhost/nodes/9549bf02-48ee-41b6-8314-0d38b5736dd6/ports", "rel": "bookmark"}]}
PATCH /v1/nodes/f5853036-a637-49bf-9ba0-31e3d1fbb2e2 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-3c4adb3b-ac58-4978-82e4-ea3e8077df34
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "f5853036-a637-49bf-9ba0-31e3d1fbb2e2", "created_at": "2025-05-30T17:26:36.625390+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/f5853036-a637-49bf-9ba0-31e3d1fbb2e2", "rel": "self"}, {"href": "http://localhost/nodes/f5853036-a637-49bf-9ba0-31e3d1fbb2e2", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/f5853036-a637-49bf-9ba0-31e3d1fbb2e2/ports", "rel": "self"}, {"href": "http://localhost/nodes/f5853036-a637-49bf-9ba0-31e3d1fbb2e2/ports", "rel": "bookmark"}]}
PATCH /v1/nodes/b04e280f-3ff8-408a-bb98-389e9e349351 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-984a1168-5a46-4f92-b355-5263aec3a970
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "b04e280f-3ff8-408a-bb98-389e9e349351", "created_at": "2025-05-30T17:26:36.692197+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/b04e280f-3ff8-408a-bb98-389e9e349351", "rel": "self"}, {"href": "http://localhost/nodes/b04e280f-3ff8-408a-bb98-389e9e349351", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/b04e280f-3ff8-408a-bb98-389e9e349351/ports", "rel": "self"}, {"href": "http://localhost/nodes/b04e280f-3ff8-408a-bb98-389e9e349351/ports", "rel": "bookmark"}]}
PATCH /v1/nodes/68f6defc-29c2-4f15-8322-e5ceb6a1352b WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-359d403d-358c-4258-bf7d-3686bda65254
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "68f6defc-29c2-4f15-8322-e5ceb6a1352b", "created_at": "2025-05-30T17:26:36.789626+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/68f6defc-29c2-4f15-8322-e5ceb6a1352b", "rel": "self"}, {"href": "http://localhost/nodes/68f6defc-29c2-4f15-8322-e5ceb6a1352b", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/68f6defc-29c2-4f15-8322-e5ceb6a1352b/ports", "rel": "self"}, {"href": "http://localhost/nodes/68f6defc-29c2-4f15-8322-e5ceb6a1352b/ports", "rel": "bookmark"}]}
PATCH /v1/nodes/29abe421-5e3b-4237-8860-b13855b0c63c WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-6c776841-1b44-4be3-ac66-5373261d023f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "29abe421-5e3b-4237-8860-b13855b0c63c", "created_at": "2025-05-30T17:26:36.857195+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/29abe421-5e3b-4237-8860-b13855b0c63c", "rel": "self"}, {"href": "http://localhost/nodes/29abe421-5e3b-4237-8860-b13855b0c63c", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/29abe421-5e3b-4237-8860-b13855b0c63c/ports", "rel": "self"}, {"href": "http://localhost/nodes/29abe421-5e3b-4237-8860-b13855b0c63c/ports", "rel": "bookmark"}]}
{2} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_emit_maintenance_notification [0.062493s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_protected_fields [0.097965s] ... 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-c56a67de-afad-499d-aaa7-f56cd9db73c9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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"}]}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_retired_fields [0.099366s] ... 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-d5c0048a-fcb2-41bb-b6d0-d7a5512883c3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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"}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down_in_progress_deploywait [0.481212s] ... 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-ab494310-efd6-4c96-be24-f3ed3e065d2b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_inspecting_allowed [0.207545s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/f41132e3-870a-4cee-b86a-3b0f9af68c69 WITH [{'path': '/instance_uuid', 'op': 'remove'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-d2373ffb-904c-42d3-9d8d-35dc9cf74a92
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.38
{"uuid": "f41132e3-870a-4cee-b86a-3b0f9af68c69", "created_at": "2025-05-30T17:26:37.042891+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/f41132e3-870a-4cee-b86a-3b0f9af68c69", "rel": "self"}, {"href": "http://localhost/nodes/f41132e3-870a-4cee-b86a-3b0f9af68c69", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/f41132e3-870a-4cee-b86a-3b0f9af68c69/ports", "rel": "self"}, {"href": "http://localhost/nodes/f41132e3-870a-4cee-b86a-3b0f9af68c69/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/f41132e3-870a-4cee-b86a-3b0f9af68c69/states", "rel": "self"}, {"href": "http://localhost/nodes/f41132e3-870a-4cee-b86a-3b0f9af68c69/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/f41132e3-870a-4cee-b86a-3b0f9af68c69/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/f41132e3-870a-4cee-b86a-3b0f9af68c69/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/f41132e3-870a-4cee-b86a-3b0f9af68c69/volume", "rel": "self"}, {"href": "http://localhost/nodes/f41132e3-870a-4cee-b86a-3b0f9af68c69/volume", "rel": "bookmark"}]}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_storage_interface_fields [0.093298s] ... 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-604b3e4c-2ff7-4131-8fb4-f661702e0a38
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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"}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down_undeploy [0.116786s] ... 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-f9ae4eed-63b6-4c0e-8554-16bca4e3eae0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_storage_interface_fields_invalid_api_version [0.084985s] ... 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-070ba347-3d0e-422c-8b8e-3551577bfd07
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_in_inspecting_not_allowed [0.135000s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/f334a3d3-0f66-40b9-80ac-0a41c5ef8ed3 WITH [{'path': '/instance_uuid', 'op': 'remove'}] GOT Response: 409 Conflict
Content-Type: application/json
Openstack-Request-Id: req-a967f007-4447-4a9b-aa4f-e5b63122e381
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.39
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update node \\\"f334a3d3-0f66-40b9-80ac-0a41c5ef8ed3\\\" while it is in state \\\"inspecting\\\".\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices [0.037882s] ... 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-a10b4111-2b82-44e2-b544-82c15d5a5e3b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.050002s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/spam/management/boot_device/supported WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-960ad767-b0e2-4e83-8d8f-2f2e0a466f0e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.5
{"supported_boot_devices": ["pxe"]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_unprovision_after_service_failed [0.108596s] ... 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-10b8c282-2f05-44a1-8c50-8579105fbb33
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices_iface_not_supported [0.038687s] ... 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-a46091dc-8c6f-447b-8b49-ce3fcd0e9c24
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_maintenance_notification [0.465137s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_indicators [0.038032s] ... 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-917ac8a9-7cd2-4e0f-b371-a2e8e581e2f1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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"}]}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid [0.090626s] ... 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-4454eaf3-dab4-42e9-9bbf-1799da68579f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.12
{2} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_notification [0.041490s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_indicators_iface_not_supported [0.052726s] ... 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-e71d19ca-1c42-4e98-bd64-2028da594748
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_notification_mask_secrets [0.073769s] ... ok
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_iface_not_supported [0.086743s] ... 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-5e8fdf6e-1991-4d65-995d-6e407d593eee
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_indicators_versioning [0.058271s] ... 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-81cb8e02-7ff7-4cc7-88f7-1638b73850a8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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"}]}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_invalid_parameter_value [0.056521s] ... 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-bed8f469-9a81-40ca-86a6-553dd8235e09
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_notification_utils.APINotifyTestCase.test_port_notification [0.089163s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_traits_fields [0.090824s] ... 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-801d2078-a0a9-4648-9586-0d61a37843f5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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"}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_older_version [0.053741s] ... 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-62779d95-beb9-4460-8cae-e7dea5cf90f1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_portgroup_notification [0.065087s] ... ok
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_rescue_raises_error_before_1_38 [0.042693s] ... 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-cfb72416-fc32-4895-b444-a5b68ef5573b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_traits_fields_invalid_api_version [0.079241s] ... 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-a370721e-603a-4cb2-a560-394ad8086edc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_invalid_request_None [0.050517s] ... 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-3e79c135-d3d2-4723-9afa-f44623800339
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_invalid_request_boo [0.039779s] ... 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-4bc133cf-a53a-4f24-857e-6c5916bef99a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_with_allocation [0.090548s] ... 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-e5c482e1-ed50-4228-9de8-84b6b04fbf31
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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": "f9ac8447-c97a-4c38-83b5-91c86e8c2f72"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_invalid_request_nullstr [0.048263s] ... 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-30ebff56-b744-43cf-87e2-75fe6b5ddd25
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_off_older_soft_ver [0.055705s] ... 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-c6001308-6cad-4ddb-88dd-87e2b730f43b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_clean_step [0.097914s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-c02beea8-1854-48f1-bfb8-c39bbe3c39ff
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:37.884710+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-69c78aad-3497-4a06-b569-17da8df0bacb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:37.884710+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_node.TestPut.test_secure_boot_off_valid_soft_ver [0.042177s] ... 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-ec238adc-f814-43f4-9cff-13a59375af1e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.76
{2} ironic.tests.unit.api.controllers.v1.test_port.TestListPortsByShard.test_get_all_by_conductor_groups [0.259867s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports?conductor_groups=group_a,group_b WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-8d827dd2-6342-4184-9b9f-b756781cc829
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": [{"uuid": "47627de1-fb4d-4d9e-a5a9-8232f3ec8239", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/47627de1-fb4d-4d9e-a5a9-8232f3ec8239", "rel": "self"}, {"href": "http://localhost/ports/47627de1-fb4d-4d9e-a5a9-8232f3ec8239", "rel": "bookmark"}]}, {"uuid": "9ebdb948-fc57-4d64-b1b6-6a7cb0670979", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/9ebdb948-fc57-4d64-b1b6-6a7cb0670979", "rel": "self"}, {"href": "http://localhost/ports/9ebdb948-fc57-4d64-b1b6-6a7cb0670979", "rel": "bookmark"}]}, {"uuid": "bc8378b2-bdcc-400c-ac3b-5b8b336c2eef", "address": "52:54:00:cf:2d:33", "links": [{"href": "http://localhost/v1/ports/bc8378b2-bdcc-400c-ac3b-5b8b336c2eef", "rel": "self"}, {"href": "http://localhost/ports/bc8378b2-bdcc-400c-ac3b-5b8b336c2eef", "rel": "bookmark"}]}, {"uuid": "d43978de-affd-4e90-83eb-f59dbc3e42b6", "address": "52:54:00:cf:2d:34", "links": [{"href": "http://localhost/v1/ports/d43978de-affd-4e90-83eb-f59dbc3e42b6", "rel": "self"}, {"href": "http://localhost/ports/d43978de-affd-4e90-83eb-f59dbc3e42b6", "rel": "bookmark"}]}, {"uuid": "04639b5f-68b0-4cde-948c-a7cae6b9c6ad", "address": "52:54:00:cf:2d:35", "links": [{"href": "http://localhost/v1/ports/04639b5f-68b0-4cde-948c-a7cae6b9c6ad", "rel": "self"}, {"href": "http://localhost/ports/04639b5f-68b0-4cde-948c-a7cae6b9c6ad", "rel": "bookmark"}]}]}
GET /v1/ports?conductor_groups=group_b WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-ff6df2ae-f191-4299-8eeb-006e1aadf9da
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": [{"uuid": "bc8378b2-bdcc-400c-ac3b-5b8b336c2eef", "address": "52:54:00:cf:2d:33", "links": [{"href": "http://localhost/v1/ports/bc8378b2-bdcc-400c-ac3b-5b8b336c2eef", "rel": "self"}, {"href": "http://localhost/ports/bc8378b2-bdcc-400c-ac3b-5b8b336c2eef", "rel": "bookmark"}]}, {"uuid": "d43978de-affd-4e90-83eb-f59dbc3e42b6", "address": "52:54:00:cf:2d:34", "links": [{"href": "http://localhost/v1/ports/d43978de-affd-4e90-83eb-f59dbc3e42b6", "rel": "self"}, {"href": "http://localhost/ports/d43978de-affd-4e90-83eb-f59dbc3e42b6", "rel": "bookmark"}]}, {"uuid": "04639b5f-68b0-4cde-948c-a7cae6b9c6ad", "address": "52:54:00:cf:2d:35", "links": [{"href": "http://localhost/v1/ports/04639b5f-68b0-4cde-948c-a7cae6b9c6ad", "rel": "self"}, {"href": "http://localhost/ports/04639b5f-68b0-4cde-948c-a7cae6b9c6ad", "rel": "bookmark"}]}]}
GET /v1/ports?conductor_groups=no_such_group WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-f830df71-d97b-457e-ad73-2bde8f623ead
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": []}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_off_valid_undocumented_request_zero [0.051992s] ... 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-56e88475-3cb7-4d82-a5d4-b3f0fbdf6d3e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.76
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_description [0.099394s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-394df838-edf0-48c0-9c80-b33284930b5b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:37.985440+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-8d942a10-9d06-47f8-a964-9bd0dd74db01
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:37.985440+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"}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_on_invalid_request_two [0.041610s] ... 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-305694cf-53f2-4240-9614-ba8a904d7d1f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_on_older_soft_ver [0.055217s] ... 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-3f582406-6f49-46fe-9a3a-74660822e463
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_driver_internal [0.102294s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-2d32a12d-4ec3-46e9-9ea6-c425e0c2b02f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:38.089783+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-871a2345-54f3-4aaa-8321-9fffcb3faf38
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:38.089783+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"}]}
{2} ironic.tests.unit.api.controllers.v1.test_port.TestListPortsByShard.test_get_by_shard_multi [0.176634s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports?shard=shard1,shard2 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-8d19f444-31e5-47c0-b076-3204d6334412
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.82
{"ports": [{"uuid": "51f19c52-30d0-40bf-9c52-12b6ac395b0a", "address": "aa:bb:cc:dd:ee:ff", "links": [{"href": "http://localhost/v1/ports/51f19c52-30d0-40bf-9c52-12b6ac395b0a", "rel": "self"}, {"href": "http://localhost/ports/51f19c52-30d0-40bf-9c52-12b6ac395b0a", "rel": "bookmark"}]}, {"uuid": "63ba259f-f06f-4300-98dd-0a481b7cf629", "address": "ab:bb:cc:dd:ee:ff", "links": [{"href": "http://localhost/v1/ports/63ba259f-f06f-4300-98dd-0a481b7cf629", "rel": "self"}, {"href": "http://localhost/ports/63ba259f-f06f-4300-98dd-0a481b7cf629", "rel": "bookmark"}]}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_on_valid_soft_ver [0.090823s] ... 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-e31aff4e-e23c-400a-b169-fefe6dfef751
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.76
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_interface_fields [0.895481s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/44aba11a-9612-4387-a620-711bdc2816de WITH [{'path': '/boot_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-0f256b86-d530-4e46-a654-f748c39445a2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "44aba11a-9612-4387-a620-711bdc2816de", "created_at": "2025-05-30T17:26:37.385999+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/44aba11a-9612-4387-a620-711bdc2816de", "rel": "self"}, {"href": "http://localhost/nodes/44aba11a-9612-4387-a620-711bdc2816de", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/44aba11a-9612-4387-a620-711bdc2816de/ports", "rel": "self"}, {"href": "http://localhost/nodes/44aba11a-9612-4387-a620-711bdc2816de/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/44aba11a-9612-4387-a620-711bdc2816de/states", "rel": "self"}, {"href": "http://localhost/nodes/44aba11a-9612-4387-a620-711bdc2816de/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/44aba11a-9612-4387-a620-711bdc2816de/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/44aba11a-9612-4387-a620-711bdc2816de/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/44aba11a-9612-4387-a620-711bdc2816de/volume", "rel": "self"}, {"href": "http://localhost/nodes/44aba11a-9612-4387-a620-711bdc2816de/volume", "rel": "bookmark"}]}
PATCH /v1/nodes/44aba11a-9612-4387-a620-711bdc2816de WITH [{'path': '/console_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-b7090d80-927e-4cce-92dd-7bfccdada480
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "44aba11a-9612-4387-a620-711bdc2816de", "created_at": "2025-05-30T17:26:37.385999+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/44aba11a-9612-4387-a620-711bdc2816de", "rel": "self"}, {"href": "http://localhost/nodes/44aba11a-9612-4387-a620-711bdc2816de", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/44aba11a-9612-4387-a620-711bdc2816de/ports", "rel": "self"}, {"href": "http://localhost/nodes/44aba11a-9612-4387-a620-711bdc2816de/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/44aba11a-9612-4387-a620-711bdc2816de/states", "rel": "self"}, {"href": "http://localhost/nodes/44aba11a-9612-4387-a620-711bdc2816de/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/44aba11a-9612-4387-a620-711bdc2816de/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/44aba11a-9612-4387-a620-711bdc2816de/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/44aba11a-9612-4387-a620-711bdc2816de/volume", "rel": "self"}, {"href": "http://localhost/nodes/44aba11a-9612-4387-a620-711bdc2816de/volume", "rel": "bookmark"}]}
PATCH /v1/nodes/44aba11a-9612-4387-a620-711bdc2816de WITH [{'path': '/deploy_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-dae92659-7270-4a54-9623-943054432625
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "44aba11a-9612-4387-a620-711bdc2816de", "created_at": "2025-05-30T17:26:37.385999+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/44aba11a-9612-4387-a620-711bdc2816de", "rel": "s
    elf"}, {"href": "http://localhost/nodes/44aba11a-9612-4387-a620-711bdc2816de", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/44aba11a-9612-4387-a620-711bdc2816de/ports", "rel": "self"}, {"href": "http://localhost/nodes/44aba11a-9612-4387-a620-711bdc2816de/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/44aba11a-9612-4387-a620-711bdc2816de/states", "rel": "self"}, {"href": "http://localhost/nodes/44aba11a-9612-4387-a620-711bdc2816de/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/44aba11a-9612-4387-a620-711bdc2816de/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/44aba11a-9612-4387-a620-711bdc2816de/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/44aba11a-9612-4387-a620-711bdc2816de/volume", "rel": "self"}, {"href": "http://localhost/nodes/44aba11a-9612-4387-a620-711bdc2816de/volume", "rel": "bookmark"}]}
PATCH /v1/nodes/44aba11a-9612-4387-a620-711bdc2816de WITH [{'path': '/inspect_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-adf3742d-2cd1-49b0-b11e-54bc975b5a0b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "44aba11a-9612-4387-a620-711bdc2816de", "created_at": "2025-05-30T17:26:37.385999+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/44aba11a-9612-4387-a620-711bdc2816de", "rel": "self"}, {"href": "http://localhost/nodes/44aba11a-9612-4387-a620-711bdc2816de", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/44aba11a-9612-4387-a620-711bdc2816de/ports", "rel": "self"}, {"href": "http://localhost/nodes/44aba11a-9612-4387-a620-711bdc2816de/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/44aba11a-9612-4387-a620-711bdc2816de/states", "rel": "self"}, {"href": "http://localhost/nodes/44aba11a-9612-4387-a620-711bdc2816de/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/44aba11a-9612-4387-a620-711bdc2816de/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/44aba11a-9612-4387-a620-711bdc2816de/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/44aba11a-9612-4387-a620-711bdc2816de/volume", "rel": "self"}, {"href": "http://localhost/nodes/44aba11a-9612-4387-a620-711bdc2816de/volume", "rel": "bookmark"}]}
PATCH /v1/nodes/
    44aba11a-9612-4387-a620-711bdc2816de WITH [{'path': '/management_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-3a94038e-6c3f-4ce4-9687-4b5575d10f71
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "44aba11a-9612-4387-a620-711bdc2816de", "created_at": "2025-05-30T17:26:37.385999+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/44aba11a-9612-4387-a620-711bdc2816de", "rel": "self"}, {"href": "http://localhost/nodes/44aba11a-9612-4387-a620-711bdc2816de", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/44aba11a-9612-4387-a620-711bdc2816de/ports", "rel": "self"}, {"href": "http://localhost/nodes/44aba11a-9612-4387-a620-711bdc2816de/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/44aba11a-9612-4387-a620-711bdc2816de/states", "rel": "self"}, {"href": "http://localhost/nodes/44aba11a-9612-4387-a620-711bdc2816de/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/44aba11a-9612-4387-a620-711bdc2816de/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/44aba11a-9612-4387-a620-711bdc2816de/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/44aba11a-9612-4387-a620-711bdc2816de/volume", "rel": "self"}, {"href": "http://localhost/nodes/44aba11a-9612-4387-a620-711bdc2816de/volume", "rel": "bookmark"}]}
PATCH /v1/nodes/44aba11a-9612-4387-a620-711bdc2816de WITH [{'path': '/power_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-2bd2a01e-0a3e-46c8-b02b-c215e92b2c7b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "44aba11a-9612-4387-a620-711bdc2816de", "created_at": "2025-05-30T17:26:37.385999+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/44aba11a-9612-4387-a620-711bdc2816de", "rel": "self"}, {"href": "http://localhost/nodes/44aba11a-9612-4387-a620-711bdc2816de", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/44aba11a-9612-4387-a620-711bdc2816de/ports", "rel": "self"}, {"href": "http://localhost/nodes/44aba11a-9612-4387-a620-711bdc2816de/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/44aba11a-9612-4387-a620-711bdc2816de/states", "rel": "self"}, {"href": "http://localhost/nodes/44aba11a-9612-4387-a620-711bdc2816de/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/44aba11a-9612-4387-a620-711bdc2816de/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/44aba11a-9612-4387-a620-711bdc2816de/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/44aba11a-9612-4387-a620-711bdc2816de/volume", "rel": "self"}, {"href": "http://localhost/nodes/44aba11a-9612-4387-a620-711bdc2816de/volume", "rel": "bookmark"}]}
PATCH /v1/nodes/44aba11a-9612-4387-a620-711bdc2816de WITH [{'path': '/raid_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-8ad44fae-4623-41c8-87a1-6508e7a6799f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "44aba11a-9612-4387-a620-711bdc2816de", "created_at": "2025-05-30T17:26:37.385999+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/44aba11a-9612-4387-a620-711bdc2816de", "rel": "self"}, {"href"
    : "http://localhost/nodes/44aba11a-9612-4387-a620-711bdc2816de", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/44aba11a-9612-4387-a620-711bdc2816de/ports", "rel": "self"}, {"href": "http://localhost/nodes/44aba11a-9612-4387-a620-711bdc2816de/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/44aba11a-9612-4387-a620-711bdc2816de/states", "rel": "self"}, {"href": "http://localhost/nodes/44aba11a-9612-4387-a620-711bdc2816de/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/44aba11a-9612-4387-a620-711bdc2816de/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/44aba11a-9612-4387-a620-711bdc2816de/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/44aba11a-9612-4387-a620-711bdc2816de/volume", "rel": "self"}, {"href": "http://localhost/nodes/44aba11a-9612-4387-a620-711bdc2816de/volume", "rel": "bookmark"}]}
PATCH /v1/nodes/44aba11a-9612-4387-a620-711bdc2816de WITH [{'path': '/vendor_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-4b3f8f64-5757-4063-b477-5648a3ced795
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "44aba11a-9612-4387-a620-711bdc2816de", "created_at": "2025-05-30T17:26:37.385999+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/44aba11a-9612-4387-a620-711bdc2816de", "rel": "self"}, {"href": "http://localhost/nodes/44aba11a-9612-4387-a620-711bdc2816de", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/44aba11a-9612-4387-a620-711bdc2816de/ports", "rel": "self"}, {"href": "http://localhost/nodes/44aba11a-9612-4387-a620-711bdc2816de/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/44aba11a-9612-4387-a620-711bdc2816de/states", "rel": "self"}, {"href": "http://localhost/nodes/44aba11a-9612-4387-a620-711bdc2816de/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/44aba11a-9612-4387-a620-711bdc2816de/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/44aba11a-9612-4387-a620-711bdc2816de/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/44aba11a-9612-4387-a620-711bdc2816de/volume", "rel": "self"}, {"href": "http://localhost/nodes/44aba11a-9612-4387-a620-711bdc2816de/volume", "rel": "bookmark"}]}
{2} ironic.tests.unit.api.controllers.v1.test_port.TestListPortsByShard.test_get_by_shard_single [0.118528s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports?shard=test_shard WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-46f5ce3a-f59d-4425-9bd7-6b190601b52c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.82
{"ports": [{"uuid": "83bab65b-8657-4199-92b0-93a2fe8b4bce", "address": "aa:bb:cc:dd:ee:ff", "links": [{"href": "http://localhost/v1/ports/83bab65b-8657-4199-92b0-93a2fe8b4bce", "rel": "self"}, {"href": "http://localhost/ports/83bab65b-8657-4199-92b0-93a2fe8b4bce", "rel": "bookmark"}]}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_on_valid_undocumented_request_one [0.139478s] ... 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-f9da94ee-1b19-4366-96b7-e3965e9f12af
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.76
{2} ironic.tests.unit.api.controllers.v1.test_port.TestListPortsByShard.test_get_by_shard_single_fail_api_version [0.122161s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports?shard=test_shard WITH {} GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-60718b6a-f6a4-4e71-a4d0-1d1029df3073
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_service [0.165771s] ... 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-5bcc370e-26e1-44cb-9cc8-90cad6b4ef46
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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)
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_interface_fields_bad_version [0.305274s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/4930d240-439b-41db-ba44-f9d26fa27713 WITH [{'path': '/boot_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-6a8d2972-2d04-4ada-a78c-6a39bab0fa2a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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/4930d240-439b-41db-ba44-f9d26fa27713 WITH [{'path': '/console_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-e6d2b731-4545-4702-932b-cf17a3126912
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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/4930d240-439b-41db-ba44-f9d26fa27713 WITH [{'path': '/deploy_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-18a7346c-abba-40c5-a024-9c91d4337e43
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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/4930d240-439b-41db-ba44-f9d26fa27713 WITH [{'path': '/inspect_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-15525d5b-9e9c-4dbc-a35a-652c523770b0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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/4930d240-439b-41db-ba44-f9d26fa27713 WITH [{'path': '/management_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-64bb300d-1403-4b0d-a3b2-121104f2b3da
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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/4930d240-439b-41db-ba44-f9d26fa27713 WITH [{'path': '/power_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-1709cbd6-4178-45dd-bd7e-1963c3b5c4f9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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/4930d240-439b-41db-ba44-f9d26fa27713 WITH [{'path': '/raid_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-1e7936e6-723c-47bb-b99b-4ee9bd475433
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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/4930d240-439b-41db-ba44-f9d26fa27713 WITH [{'path': '/vendor_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-161ee97e-59a9-490f-b724-d229795ffbcd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_portgroup.TestPatch.test_add_multi [0.163267s] ... 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-fc23810c-6a6c-422b-9b7a-6168b9eacd70
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:26:38.472412+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_node.TestListNodes.test_hide_fields_in_newer_versions_inspection [0.465496s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-51207db8-4763-4a08-b1e9-164ca3bf4bf3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:38.545319+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-6c1a3257-e997-4a20-8239-265e7a18f24c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:38.545319+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"}]}
{2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_node_id [0.144900s] ... 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-10107f8d-2c70-4034-8674-80444178bfa7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_node.TestListNodes.test_hide_fields_in_newer_versions_interface_fields [0.114859s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/detail WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-45c05301-102e-4153-8b95-b34eca20f972
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:38.671935+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-e6ac8c0b-8346-46aa-833a-224323ff13c3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:38.671935+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"}]}]}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_lessee [0.223153s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/626e5253-5f65-457a-80a6-5e9545d469d9 WITH [{'path': '/lessee', 'value': 'new-project', 'op': 'replace'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-884aab94-b7cf-437e-944f-a6be803697b2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.65
{"uuid": "626e5253-5f65-457a-80a6-5e9545d469d9", "created_at": "2025-05-30T17:26:38.605643+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/626e5253-5f65-457a-80a6-5e9545d469d9", "rel": "self"}, {"href": "http://localhost/nodes/626e5253-5f65-457a-80a6-5e9545d469d9", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/626e5253-5f65-457a-80a6-5e9545d469d9/ports", "rel": "self"}, {"href": "http://localhost/nodes/626e5253-5f65-457a-80a6-5e9545d469d9/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/626e5253-5f65-457a-80a6-5e9545d469d9/states", "rel": "self"}, {"href": "http://localhost/nodes/626e5253-5f65-457a-80a6-5e9545d469d9/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/626e5253-5f65-457a-80a6-5e9545d469d9/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/626e5253-5f65-457a-80a6-5e9545d469d9/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/626e5253-5f65-457a-80a6-5e9545d469d9/volume", "rel": "self"}, {"href": "http://localhost/nodes/626e5253-5f65-457a-80a6-5e9545d469d9/volume", "rel": "bookmark"}]}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_lessee_old_api [0.104058s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/45174be0-7d8c-43d1-8e02-9215e59243fa WITH [{'path': '/lessee', 'value': 'new-project', 'op': 'replace'}] GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-eae430d7-e5c7-46e4-b2e2-28ba063f288d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_node_uuid [0.162185s] ... 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-cacca183-1446-404a-9784-96cc6e2e34b6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:26:38.787610+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_node.TestListNodes.test_hide_fields_in_newer_versions_name [0.131368s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-faee00e6-20f9-41b1-bbbd-eefa52394623
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:38.789872+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-c2ade9bb-582c-4eb8-bd1a-88f3751bf210
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:38.789872+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"}]}
{2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_root [0.103901s] ... 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-ef1fc867-c397-4112-b0a5-be45d2117dc1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:26:38.906076+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_node.TestListNodes.test_hide_fields_in_newer_versions_network_interface [0.153066s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/detail WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-63670b72-a7ed-40fb-aac0-11f6a6283bd4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:38.923444+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-29cce84d-ef76-4836-8db3-8095e40f6f95
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:38.923444+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_node.TestPut.test_service_args_required [0.535153s] ... 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-c440c8db-12d2-4632-a3df-9834cac241cb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_root_non_existent [0.113990s] ... 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-62fb3594-b987-4109-b961-e81ea9467320
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_service_with_runbooks [0.141117s] ... 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-e71c35f7-947d-4bde-98d7-b1f21a48e878
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
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_node.TestListNodes.test_hide_fields_in_newer_versions_resource_class [0.165588s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/detail WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-fc2bc234-39b6-4953-8eed-96f179b89450
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:39.113644+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-b7681687-f690-48a4-9a53-2152b1454db6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:39.113644+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"}]}]}
{2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_address [0.114300s] ... 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-4f41b154-ca6b-47c8-a35f-2d639708ccfe
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:26:39.148893+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_node.TestListNodes.test_hide_fields_in_newer_versions_storage_interface [0.109552s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/detail WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-86e261ad-62ba-4eaa-ab07-816a0dc16a9b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:39.240124+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-27b1ee24-cf36-4ffe-80bb-c4a0ee641226
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:39.240124+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"}]}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_service_with_runbooks_unapproved [0.122422s] ... 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-57324691-78b2-4ebd-ad6f-ac5df6045093
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_portgroup.TestPatch.test_remove_mode_not_allowed [0.108538s] ... 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-6a8a1259-60fe-4add-8dfb-4f448135a2e1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'mode' is a mandatory attribute and can not be removed\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device [0.085342s] ... 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-3fbf981c-3763-42b7-b7ad-0b2cdccea36b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_traits [0.112438s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/detail WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-27585033-242b-4d4c-b579-b706f22af50b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:39.347297+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-bf4343b5-8124-448b-a0a9-25a7f11a9228
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:39.347297+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"}]}]}
{2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_multi [0.155832s] ... 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-d7af88f5-c9e8-4b6e-a003-46732d55887e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:26:39.365119+00:00", "updated_at": "2025-05-30T17:26:39.392641+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-2cb8528a-2375-4c7d-90bb-836e728270a1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:26:39.365119+00:00", "updated_at": "2025-05-30T17:26:39.392641+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.api.controllers.v1.test_node.TestPut.test_set_boot_device_by_name [0.091946s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PUT /v1/nodes/node-39/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 204 No Content
Openstack-Request-Id: req-d04fe13e-4362-44ae-a340-b0e97cda3abb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_hide_fields_in_newer_versions_volume [0.089515s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-0d4a371a-40e9-45c0-ae96-cac8e4dc75f7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:39.457234+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-f0d35c34-fdb6-452f-af85-2f857775a5fd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:39.457234+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"}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_not_supported [0.100718s] ... 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-78ed4506-6d55-4442-becf-0d7ea1fe1c97
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_node_id [0.123039s] ... 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-9ad4cf57-7e5b-4605-a34f-4ae311823fc4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_node.TestListNodes.test_links [0.106788s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/e45b1028-0883-441a-851c-ca85e4e1e31b WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-61e367ce-40b4-4d4a-93e8-2b4bd428ccf7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "e45b1028-0883-441a-851c-ca85e4e1e31b", "created_at": "2025-05-30T17:26:39.553552+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/e45b1028-0883-441a-851c-ca85e4e1e31b", "rel": "self"}, {"href": "http://localhost/nodes/e45b1028-0883-441a-851c-ca85e4e1e31b", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e45b1028-0883-441a-851c-ca85e4e1e31b/ports", "rel": "self"}, {"href": "http://localhost/nodes/e45b1028-0883-441a-851c-ca85e4e1e31b/ports", "rel": "bookmark"}]}
GET /v1/nodes/e45b1028-0883-441a-851c-ca85e4e1e31b WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-864ff7ad-00bc-4318-b176-a2e1fe8a3b8b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "e45b1028-0883-441a-851c-ca85e4e1e31b", "created_at": "2025-05-30T17:26:39.553552+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/e45b1028-0883-441a-851c-ca85e4e1e31b", "rel": "self"}, {"href": "http://localhost/nodes/e45b1028-0883-441a-851c-ca85e4e1e31b", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e45b1028-0883-441a-851c-ca85e4e1e31b/ports", "rel": "self"}, {"href": "http://localhost/nodes/e45b1028-0883-441a-851c-ca85e4e1e31b/ports", "rel": "bookmark"}]}
GET /nodes/e45b1028-0883-441a-851c-ca85e4e1e31b WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-ee8c06c9-33e2-4207-bc06-fbe75837ed04
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "e45b1028-0883-441a-851c-ca85e4e1e31b", "created_at": "2025-05-30T17:26:39.553552+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/e45b1028-0883-441a-851c-ca85e4e1e31b", "rel": "self"}, {"href": "http://localhost/nodes/e45b1028-0883-441a-851c-ca85e4e1e31b", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e45b1028-0883-441a-851c-ca85e4e1e31b/ports", "rel": "self"}, {"href": "http://localhost/nodes/e45b1028-0883-441a-851c-ca85e4e1e31b/ports", "rel
    ": "bookmark"}]}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data [0.791211s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/859ecdc8-0048-467a-a5bd-031c9239b0b5 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-8c83db38-261e-4dae-89c0-0d76b93de372
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.66
{"uuid": "859ecdc8-0048-467a-a5bd-031c9239b0b5", "created_at": "2025-05-30T17:26:38.946880+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/859ecdc8-0048-467a-a5bd-031c9239b0b5", "rel": "self"}, {"href": "http://localhost/nodes/859ecdc8-0048-467a-a5bd-031c9239b0b5", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/859ecdc8-0048-467a-a5bd-031c9239b0b5/ports", "rel": "self"}, {"href": "http://localhost/nodes/859ecdc8-0048-467a-a5bd-031c9239b0b5/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/859ecdc8-0048-467a-a5bd
    -031c9239b0b5/states", "rel": "self"}, {"href": "http://localhost/nodes/859ecdc8-0048-467a-a5bd-031c9239b0b5/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/859ecdc8-0048-467a-a5bd-031c9239b0b5/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/859ecdc8-0048-467a-a5bd-031c9239b0b5/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/859ecdc8-0048-467a-a5bd-031c9239b0b5/volume", "rel": "self"}, {"href": "http://localhost/nodes/859ecdc8-0048-467a-a5bd-031c9239b0b5/volume", "rel": "bookmark"}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_persistent [0.100855s] ... 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-1e92dfb7-7e25-4f35-964f-154359d15b7d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_non_existent_property_fail [0.112240s] ... 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-55bb7b07-b93d-4016-b587-5334a83ebc92
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_links_public_url [0.137983s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/f4661211-e79c-48df-a7a0-5ed1c287cf6b WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-083a3ef7-c993-4bc2-9a37-47056c06f444
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "f4661211-e79c-48df-a7a0-5ed1c287cf6b", "created_at": "2025-05-30T17:26:39.673064+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/f4661211-e79c-48df-a7a0-5ed1c287cf6b", "rel": "self"}, {"href": "http://foo/nodes/f4661211-e79c-48df-a7a0-5ed1c287cf6b", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://foo/v1/nodes/f4661211-e79c-48df-a7a0-5ed1c287cf6b/ports", "rel": "self"}, {"href": "http://foo/nodes/f4661211-e79c-48df-a7a0-5ed1c287cf6b/ports", "rel": "bookmark"}]}
GET /v1/nodes/f4661211-e79c-48df-a7a0-5ed1c287cf6b WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-4a8fcf83-fa73-45bd-b394-2e18099f90b2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "f4661211-e79c-48df-a7a0-5ed1c287cf6b", "created_at": "2025-05-30T17:26:39.673064+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/f4661211-e79c-48df-a7a0-5ed1c287cf6b", "rel": "self"}, {"href": "http://foo/nodes/f4661211-e79c-48df-a7a0-5ed1c287cf6b", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://foo/v1/nodes/f4661211-e79c-48df-a7a0-5ed1c287cf6b/ports", "rel": "self"}, {"href": "http://foo/nodes/f4661211-e79c-48df-a7a0-5ed1c287cf6b/ports", "rel": "bookmark"}]}
GET /nodes/f4661211-e79c-48df-a7a0-5ed1c287cf6b WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-2de9e110-c478-4bdd-abbd-01f685af9f0e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "f4661211-e79c-48df-a7a0-5ed1c287cf6b", "created_at": "2025-05-30T17:26:39.673064+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/f4661211-e79c-48df-a7a0-5ed1c287cf6b", "rel": "self"}, {"href": "http://foo/nodes/f4661211-e79c-48df-a7a0-5ed1c287cf6b", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://foo/v1/nodes/f4661211-e79c-48df-a7a0-5ed1c287cf6b/ports", "rel": "self"}, {"href": "http://foo/nodes/f4661211-e79c-48df-a7a0-5ed1c287cf6b/ports", "rel": "bookmark"}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_persistent_invalid_value [0.087106s] ... 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-531f310b-0416-453e-88f7-52076afd661d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_uuid [0.103724s] ... 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-2d7755fd-1129-449a-b113-868998a9188c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_by_name [0.095469s] ... 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-aa0d422a-c5a0-419a-8ea0-6e3dbeaf89ca
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_maintenance_nodes [0.157194s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?maintenance=true WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-3b4ccc0c-f2c5-48e1-a07e-cfb37e71b56a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"nodes": [{"uuid": "6e4f566a-1a36-4aa4-ba80-8ef1e10c310f", "instance_uuid": null, "maintenance": true, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/6e4f566a-1a36-4aa4-ba80-8ef1e10c310f", "rel": "self"}, {"href": "http://localhost/nodes/6e4f566a-1a36-4aa4-ba80-8ef1e10c310f", "rel": "bookmark"}]}, {"uuid": "da58826b-861e-4be7-8541-142d447b625c", "instance_uuid": null, "maintenance": true, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/da58826b-861e-4be7-8541-142d447b625c", "rel": "self"}, {"href": "http://localhost/nodes/da58826b-861e-4be7-8541-142d447b625c", "rel": "bookmark"}]}]}
GET /v1/nodes?maintenance=false WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-2892e211-7331-419f-9799-678c05d97887
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"nodes": [{"uuid": "e0fd6c4c-665c-46a2-a09a-416025f52600", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/e0fd6c4c-665c-46a2-a09a-416025f52600", "rel": "self"}, {"href": "http://localhost/nodes/e0fd6c4c-665c-46a2-a09a-416025f52600", "rel": "bookmark"}]}, {"uuid": "cf0515d3-3872-4acc-803d-7be246241372", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/cf0515d3-3872-4acc-803d-7be246241372", "rel": "self"}, {"href": "http://localhost/nodes/cf0515d3-3872-4acc-803d-7be246241372", "rel": "bookmark"}]}, {"uuid": "188e5264-0e75-413e-a21c-bea6a2345887", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/188e5264-0e75-413e-a21c-bea6a2345887", "rel": "self"}, {"href": "http://localhost/nodes/188e5264-0e75-413e-a21c-bea6a2345887", "rel": "bookmark"}]}]}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data_custom [0.259211s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/3641d215-60ec-4924-882d-95865e9aa93b WITH [{'path': '/network_data', 'value': {'cat': 'meow'}, 'op': 'replace'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-c4c6afc2-930c-4e10-8a6e-5c70eda8cd85
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.66
{"uuid": "3641d215-60ec-4924-882d-95865e9aa93b", "created_at": "2025-05-30T17:26:39.814867+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/3641d215-60ec-4924-882d-95865e9aa93b", "rel": "self"}, {"href": "http://localhost/nodes/3641d215-60ec-4924-882d-95865e9aa93b", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/3641d215-60ec-4924-882d-95865e9aa93b/ports", "rel": "self"}, {"href": "http://localhost/nodes/3641d215-60ec-4924-882d-95865e9aa93b/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/3641d215-60ec-4924-882d-95865e9aa93b/states", "rel": "self"}, {"href": "http://localhost/nodes/3641d215-60ec-4924-882d-95865e9aa93b/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/3641d215-60ec-4924-882d-95865e9aa93b/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3641d215-60ec-4924-882d-95865e9aa93b/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/3641d215-60ec-4924-882d-95865e9aa93b/volume", "rel": "self"}, {"href": "http://localhost/nodes/3641d215-60ec-4924-882d-95865e9aa93b/volume", "rel": "bookmark"}]}
{2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_address_already_exist [0.133484s] ... 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-e54504e0-bb7d-4609-ace3-b013653e627e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A port with MAC address aa:aa:aa:aa:aa:aa already exists.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_by_name_unsupported [0.092535s] ... 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-1be92869-48b5-4b5d-aa91-4576f5534868
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data_old_api [0.137003s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/0fe118d8-73e1-4b93-bcba-1f4ba5e8e0e6 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-3e728687-9575-4104-b78a-4cc9f0e4f644
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_maintenance_nodes_associated [0.155989s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?associated=true&maintenance=false WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-78eb14ac-9937-4cad-b328-bed570660d7c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"nodes": [{"uuid": "a89ca970-4e31-49f7-93c1-dfe6c1233f97", "instance_uuid": "23561d56-9a44-4e3d-b729-830c009ad437", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/a89ca970-4e31-49f7-93c1-dfe6c1233f97", "rel": "self"}, {"href": "http://localhost/nodes/a89ca970-4e31-49f7-93c1-dfe6c1233f97", "rel": "bookmark"}]}, {"uuid": "e77ed3ff-e952-42e8-9e67-568a080fbb5d", "instance_uuid": "e1c21a96-d20b-4a64-a65b-fb9152f678e0", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/e77ed3ff-e952-42e8-9e67-568a080fbb5d", "rel": "self"}, {"href": "http://localhost/nodes/e77ed3ff-e952-42e8-9e67-568a080fbb5d", "rel": "bookmark"}]}, {"uuid": "31a4607f-446d-4a7d-b108-1d35610dae9c", "instance_uuid": "d37be1bf-71e3-42e2-87d6-b2cd77e798f0", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/31a4607f-446d-4a7d-b108-1d35610dae9c", "rel": "self"}, {"href": "http://localhost/nodes/31a4607f-446d-4a7d-b108-1d35610dae9c", "rel": "bookmark"}]}, {"uuid": "be47e0ee-46c5-4b90-86f7-9fe7f47ab69e", "instance_uuid": "0599b632-b12b-4686-8976-83b445ed8ba9", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/be47e0ee-46c5-4b90-86f7-9fe7f47ab69e", "rel": "self"}, {"href": "http://localhost/nodes/be47e0ee-46c5-4b90-86f7-9fe7f47ab69e", "rel": "bookmark"}]}]}
GET /v1/nodes?associated=true&maintenance=true WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-fb339364-d0e3-444e-b678-ea448e324d54
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": "1d4ce6b2-4468-4d6a-85a0-8869008b91bb", "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-d4881ebb-0395-472b-ba8a-dffe15b82d44
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": "1d4ce6b2-4468-4d6a-85a0-8869008b91bb", "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_node.TestPut.test_set_console_mode_bad_request [0.100755s] ... 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-b33e5b99-95bf-477b-abe6-fc232fc38dda
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_multi [0.138814s] ... 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-000be959-f34b-417c-8483-16461e41ec0d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:26:40.004987+00:00", "updated_at": "2025-05-30T17:26:40.020338+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"}]}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes_error [0.068463s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?associated=true&maintenance=blah WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-ee878c6a-eb00-4ec9-b89d-85e2353bedd5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node.TestPut.test_set_console_mode_bad_request_missing_parameter [0.102334s] ... 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-004b626f-b9ac-46b1-af31-eb43ca429e76
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_node_id [0.108973s] ... 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-993c75d1-2c91-480b-a123-f2208b7f9421
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}"}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data_wrong_format [0.124431s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/dacc592a-79a4-4e68-8539-fd684c76e27b WITH [{'path': '/network_data', 'value': {'cat': 'meow'}, 'op': 'replace'}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-13f54124-6021-45a7-88c8-6ac4dcc6ac41
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many [0.100326s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-78fb7bbe-15ba-43e8-a379-ef057236be9f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"nodes": [{"uuid": "d564b2ce-3118-4cc5-978a-5a3f4fe449b0", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/d564b2ce-3118-4cc5-978a-5a3f4fe449b0", "rel": "self"}, {"href": "http://localhost/nodes/d564b2ce-3118-4cc5-978a-5a3f4fe449b0", "rel": "bookmark"}]}, {"uuid": "206b3b32-e8e2-42c1-8bdf-ae61d3464cd7", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/206b3b32-e8e2-42c1-8bdf-ae61d3464cd7", "rel": "self"}, {"href": "http://localhost/nodes/206b3b32-e8e2-42c1-8bdf-ae61d3464cd7", "rel": "bookmark"}]}, {"uuid": "393b2499-71f9-4ca5-85e4-949089115d88", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/393b2499-71f9-4ca5-85e4-949089115d88", "rel": "self"}, {"href": "http://localhost/nodes/393b2499-71f9-4ca5-85e4-949089115d88", "rel": "bookmark"}]}, {"uuid": "632a97ee-102f-4bc0-89fe-4f611d1632e4", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/632a97ee-102f-4bc0-89fe-4f611d1632e4", "rel": "self"}, {"href": "http://localhost/nodes/632a97ee-102f-4bc0-89fe-4f611d1632e4", "rel": "bookmark"}]}, {"uuid": "06404b50-0f0f-42fe-9717-90c9c0526b63", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/06404b50-0f0f-42fe-9717-90c9c0526b63", "rel": "self"}, {"href": "http://localhost/nodes/06404b50-0f0f-42fe-9717-90c9c0526b63", "rel": "bookmark"}]}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_console_not_supported [0.094392s] ... 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-7439239c-f761-4f60-ae87-4b10ba2209d7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_portgroup.TestPatch.test_replace_node_uuid [0.111976s] ... 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-3533b636-1184-4c17-b485-1af6ec4f35cc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:26:40.249080+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_node.TestListNodes.test_many_forbidden [0.073154s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-9b73d6e5-f19b-4603-be4b-288a27ba6d30
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node.TestPut.test_set_console_mode_disabled [0.091003s] ... 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-661d323a-9835-4dbb-a3f3-4d4123e256d4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_interface [0.206821s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/eff12d52-684a-405b-918c-ceb0250af32c WITH [{'path': '/network_interface', 'value': 'flat', 'op': 'add'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-e6374d28-66b4-4356-bd97-5cfb24213f73
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "eff12d52-684a-405b-918c-ceb0250af32c", "created_at": "2025-05-30T17:26:40.291065+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/eff12d52-684a-405b-918c-ceb0250af32c", "rel": "self"}, {"href": "http://localhost/nodes/eff12d52-684a-405b-918c-ceb0250af32c", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/eff12d52-684a-405b-918c-ceb0250af32c/ports", "rel": "self"}, {"href": "http://localhost/nodes/eff12d52-684a-405b-918c-ceb0250af32c/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/eff12d52-684a-405b-918c-ceb0250af32c/states", "rel": "self"}, {"href": "http://localhost/nodes/eff12d52-684a-405b-918c-ceb0250af32c/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/eff12d52-684a-405b-918c-ceb0250af32c/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/eff12d52-684a-405b-918c-ceb0250af32c/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/eff12d52-684a-405b-918c-ceb0250af32c/volume", "rel": "self"}, {"href": "http://localhost/nodes/eff12d52-684a-405b-918c-ceb0250af32c/volume", "rel": "bookmark"}]}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_have_names [0.104260s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-5d02126e-efc7-4735-9d4a-ade871e287bb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.5
{"nodes": [{"uuid": "3a7f713f-2a66-431d-a877-e709ff8303e8", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": "node-0", "links": [{"href": "http://localhost/v1/nodes/3a7f713f-2a66-431d-a877-e709ff8303e8", "rel": "self"}, {"href": "http://localhost/nodes/3a7f713f-2a66-431d-a877-e709ff8303e8", "rel": "bookmark"}]}, {"uuid": "883a49a3-8803-4a49-b180-6cf122700ac7", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": "node-1", "links": [{"href": "http://localhost/v1/nodes/883a49a3-8803-4a49-b180-6cf122700ac7", "rel": "self"}, {"href": "http://localhost/nodes/883a49a3-8803-4a49-b180-6cf122700ac7", "rel": "bookmark"}]}, {"uuid": "126695ed-2d81-4c19-998b-4ebb06fa813d", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": "node-2", "links": [{"href": "http://localhost/v1/nodes/126695ed-2d81-4c19-998b-4ebb06fa813d", "rel": "self"}, {"href": "http://localhost/nodes/126695ed-2d81-4c19-998b-4ebb06fa813d", "rel": "bookmark"}]}, {"uuid": "fdaa4905-c2de-43d1-81ef-f3ae9bdff67c", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": "node-3", "links": [{"href": "http://localhost/v1/nodes/fdaa4905-c2de-43d1-81ef-f3ae9bdff67c", "rel": "self"}, {"href": "http://localhost/nodes/fdaa4905-c2de-43d1-81ef-f3ae9bdff67c", "rel": "bookmark"}]}, {"uuid": "c4c9d615-27f1-44d3-bc29-fe5fa6df83a8", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": "node-4", "links": [{"href": "http://localhost/v1/nodes/c4c9d615-27f1-44d3-bc29-fe5fa6df83a8", "rel": "self"}, {"href": "http://localhost/nodes/c4c9d615-27f1-44d3-bc29-fe5fa6df83a8", "rel": "bookmark"}]}]}
{2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_non_existent_node_uuid [0.118445s] ... 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-f789a625-96f3-4052-b204-0869184ab509
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_enabled [0.100190s] ... 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-5d3f9fe0-e48c-48a4-b251-09dcd4391740
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_list_all_forbid_project_mismatch [0.069280s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?project=54321 WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-397a0025-d646-471d-90fb-4e9e66c02275
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_update_network_interface_old_api [0.111095s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/63411cbb-7f6a-497b-ad9c-5acd66b015e0 WITH [{'path': '/network_interface', 'value': 'flat', 'op': 'add'}] GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-68820ab2-8793-463b-8892-cd7fc08028ac
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_portgroup.TestPatch.test_replace_singular [0.125071s] ... 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-8ae499d0-42ed-430f-b206-02c5ad39ff2c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:26:40.486619+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.api.controllers.v1.test_node.TestPut.test_set_indicator_state [0.104851s] ... 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-4437cc9a-bc03-4841-a5d1-6aad27fca49e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_list_all_forbidden [0.152223s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-97a2216b-73e7-471d-99bb-9a8221ba3b3a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.65
{"nodes": [{"uuid": "bbb78d60-96e8-45ef-b61a-0fe59d1c033e", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/bbb78d60-96e8-45ef-b61a-0fe59d1c033e", "rel": "self"}, {"href": "http://localhost/nodes/bbb78d60-96e8-45ef-b61a-0fe59d1c033e", "rel": "bookmark"}]}, {"uuid": "12ed5879-18be-40ac-868e-2f594a3e8b82", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/12ed5879-18be-40ac-868e-2f594a3e8b82", "rel": "self"}, {"href": "http://localhost/nodes/12ed5879-18be-40ac-868e-2f594a3e8b82", "rel": "bookmark"}]}, {"uuid": "3ef7a747-0389-4ed2-9a87-0e8fb0615781", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/3ef7a747-0389-4ed2-9a87-0e8fb0615781", "rel": "self"}, {"href": "http://localhost/nodes/3ef7a747-0389-4ed2-9a87-0e8fb0615781", "rel": "bookmark"}]}, {"uuid": "dbe79463-fa87-48fa-8036-156c6562f811", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/dbe79463-fa87-48fa-8036-156c6562f811", "rel": "self"}, {"href": "http://localhost/nodes/dbe79463-fa87-48fa-8036-156c6562f811", "rel": "bookmark"}]}, {"uuid": "5428b359-d11a-4e50-b0f8-d5754368553e", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/5428b359-d11a-4e50-b0f8-d5754368553e", "rel": "self"}, {"href": "http://localhost/nodes/5428b359-d11a-4e50-b0f8-d5754368553e", "rel": "bookmark"}]}, {"uuid": "a5c5e9a1-dc23-4edc-bd2b-0d36bcc02c26", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/a5c5e9a1-dc23-4edc-bd2b-0d36bcc02c26", "rel": "self"}, {"href": "http://localhost/nodes/a5c5e9a1-dc23-4edc-bd2b-0d36bcc02c26", "rel": "bookmark"}]}]}
{2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_address_invalid_format [0.103876s] ... 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-e868dc8e-4987-4916-bef3-a8db77abd86a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: invalid-format\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_invalid_value [0.093542s] ... 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-823c9438-6b8a-4742-b5df-9c9a60e2cb33
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"error\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok [0.200124s] ... 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-04bce67b-0684-48b5-857a-78925e493d34
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:40.581947+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_many_list_all_forbidden_no_project [0.071814s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-aac5bc6c-020d-4109-b9e1-b889e5228de2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_portgroup.TestPatch.test_update_byaddress_not_allowed [0.098227s] ... 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\"}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_not_supported [0.105245s] ... 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-09c436c9-f71d-45c7-8bb9-1caf5723f197
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_mask_available_state [0.099006s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-2755da72-9e9d-4dfa-98ee-8869d704aa24
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:40.788432+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-89f04976-f965-492e-9b55-a61be3f67815
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:40.788432+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"}]}
{2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byid [0.114228s] ... 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-dd714c57-94c0-4d79-a8a1-a7ab66e595b8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:26:40.820330+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.api.controllers.v1.test_node.TestPut.test_set_indicator_state_qs [0.102782s] ... 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-30b094f6-b572-47ed-a3bf-2aaead33fabd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok_by_name [0.199790s] ... 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-fd5af681-efe8-46e5-8928-65fa54c34186
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:40.776122+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"}]}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_next_link_with_association [0.116954s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/?limit=3&associated=True WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-51cfd0ba-69f3-4276-85c6-bf4b9dac44a4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"nodes": [{"uuid": "6e2ea824-a4b1-45a5-b701-ab22ff5b534b", "instance_uuid": "539e05a7-2687-4da1-9b30-18531ee48dbc", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/6e2ea824-a4b1-45a5-b701-ab22ff5b534b", "rel": "self"}, {"href": "http://localhost/nodes/6e2ea824-a4b1-45a5-b701-ab22ff5b534b", "rel": "bookmark"}]}, {"uuid": "364da87c-6ef7-4d3a-8836-e3cc354353bd", "instance_uuid": "863341d4-bc1c-45f6-a63a-edc53d2d14df", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/364da87c-6ef7-4d3a-8836-e3cc354353bd", "rel": "self"}, {"href": "http://localhost/nodes/364da87c-6ef7-4d3a-8836-e3cc354353bd", "rel": "bookmark"}]}, {"uuid": "82122ade-1da6-4c81-b6a1-28be51f59cf3", "instance_uuid": "de648870-8e3c-4736-b490-313c9864bc30", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/82122ade-1da6-4c81-b6a1-28be51f59cf3", "rel": "self"}, {"href": "http://localhost/nodes/82122ade-1da6-4c81-b6a1-28be51f59cf3", "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=82122ade-1da6-4c81-b6a1-28be51f59cf3"}
{2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byid_invalid_api_version [0.086391s] ... 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\": \"\"}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_versioning [0.121841s] ... 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-c2937c29-e6fb-4777-bb4c-8822ed30c40b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.63
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_next_link_with_association_with_detail [0.127673s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/detail?limit=3&associated=true WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-9b1eac91-c23e-4933-9fa0-70b92ef69361
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"nodes": [{"uuid": "c698eeee-1024-4769-850a-10cbf47f4c07", "created_at": "2025-05-30T17:26:41.022104+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": "a1818b49-2800-40d5-b76a-08234f0c944e", "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/c698eeee-1024-4769-850a-10cbf47f4c07", "rel": "self"}, {"href": "http://localhost/nodes/c698eeee-1024-4769-850a-10cbf47f4c07", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/c698eeee-1024-4769-850a-10cbf47f4c07/ports", "rel": "self"}, {"href": "http://localhost/nodes/c698eeee-1024-4769-850a-10cbf47f4c07/ports", "rel": "bookmark"}]}, {"uuid": "fd1028d4-fa59-4547-b1f6-6287c521c969", "created_at": "2025-05-30T17:26:41.024782+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": "e3ffbdb9-8215-4562-845e-3d3a6a62205f", "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/fd1028d4-fa59-4547-b1f6-6287c521c969", "rel": "self"}, {"href": "http://localhost/nodes/fd1028d4-fa59-4547-b1f6-6287c521c969", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/fd1028d4-fa59-4547-b1f6-6287c521c969/ports", "rel": "self"}, {"href": "http://localhost/nodes/fd1028d4-fa59-4547-b1f6-6287c521c969/ports", "rel": "bookmark"}]}, {"uuid": "047a7719-349f-4891-9f7c-10d46506bff8", "created_at": "2025-05-30T17:26:41.029492+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": "5edb1c14-bdd0-4ecf-a068-69cb304eed58", "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/047a7719-349f-4891-9f7c-10d46506bff8", "rel": "self"}, {"href": "http://localhost/nodes/047a7719-349f-4891-9f7c-10d46506bff8", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/047a7719-349f-4891-9f7c-10d46506bff8/ports", "rel": "self"}, {"href": "http://localhost/nodes/047a7719-349f-4891-9f7c-10d46506bff8/ports", "rel": "bookmark"}]}], "next": "http://localhost/v1/nodes/detail?sort_key=id&sort_dir=asc&associated=True&limit=3&marker=047a7719-349f-4891-9f7c-10d46506bff8"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode [0.129867s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance WITH {'reason': 'fake_reason'} GOT Response: 202 Accepted
Openstack-Request-Id: req-237c9c10-b926-4723-a3bc-999e53d83319
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok_by_name_with_json [0.213540s] ... 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-f4a44250-193f-4ff8-9f3d-1c508324f814
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:40.983952+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"}]}
{2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byname [0.199732s] ... 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-f8afe862-6838-4dc3-85a7-a953e7c487d7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:26:41.060518+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_node.TestListNodes.test_node_automated_clean_false_field [0.086950s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-2485ed4f-f8f2-421b-b234-da1664da8b17
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:41.135683+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_node.TestPut.test_set_node_maintenance_mode_by_name [0.109514s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PUT /v1/nodes/node-39/maintenance WITH {'reason': 'fake_reason'} GOT Response: 202 Accepted
Openstack-Request-Id: req-ae578fb1-1750-4b8b-83d8-c5dcf24ef550
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node_automated_clean_hidden_in_lower_version [0.114547s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-f5a12cc9-8ede-47f0-928a-9dca0f6afee9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:41.228036+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-0008c98b-1a1e-420e-8040-59612537726e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:41.228036+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"}]}
{2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byname_with_json [0.124016s] ... 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-00c4dcc2-dbfd-4437-adb7-a70d99d637d1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:41.231221+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.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_error [0.086227s] ... 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-04d8bb7d-50e5-40c6-9660-f55b5894addd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner [0.209269s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/a628254c-e6c8-4985-b0b9-cb17fc6c5ea2 WITH [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-4e12aa56-291c-439f-b7d9-f784bb2c0930
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.50
{"uuid": "a628254c-e6c8-4985-b0b9-cb17fc6c5ea2", "created_at": "2025-05-30T17:26:41.246692+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/a628254c-e6c8-4985-b0b9-cb17fc6c5ea2", "rel": "self"}, {"href": "http://localhost/nodes/a628254c-e6c8-4985-b0b9-cb17fc6c5ea2", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/a628254c-e6c8-4985-b0b9-cb17fc6c5ea2/ports", "rel": "self"}, {"href": "http://localhost/nodes/a628254c-e6c8-4985-b0b9-cb17fc6c5ea2/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a628254c-e6c8-4985-b0b9-cb17fc6c5ea2/states", "rel": "self"}, {"href": "http://localhost/nodes/a628254c-e6c8-4985-b0b9-cb17fc6c5ea2/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a628254c-e6c8-4985-b0b9-cb17fc6c5ea2/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a628254c-e6c8-4985-b0b9-cb17fc6c5ea2/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a628254c-e6c8-4985-b0b9-cb17fc6c5ea2/volume", "rel": "self"}, {"href": "http://localhost/nodes/a628254c-e6c8-4985-b0b9-cb17fc6c5ea2/volume", "rel": "bookmark"}]}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_null_field [0.105425s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-45ed5ca6-a6c7-4cee-b4ae-fba76d2dd0a5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:41.357055+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_node.TestPut.test_set_node_maintenance_mode_no_reason [0.075934s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance WITH {} GOT Response: 202 Accepted
Openstack-Request-Id: req-6723241f-8357-4411-9382-671722bed551
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_in_inspecting_allowed [0.123461s] ... 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-4904bf24-2449-4203-bc1b-7dbff1edaeba
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:41.344849+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.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_no_reason_by_name [0.090835s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PUT /v1/nodes/node-39/maintenance WITH {} GOT Response: 202 Accepted
Openstack-Request-Id: req-ec7e6b53-933b-4587-bb91-fe2f1d649fdd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node_automated_clean_true_field [0.127269s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-767a0ab2-c0e8-4291-89b6-09e422e3fb11
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:41.475094+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"}]}
{2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_in_inspecting_not_allowed [0.120394s] ... 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-f01d3a6a-b815-4bf7-ae6d-f551e23bc2fb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_allocation [0.228744s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/efcf342e-9440-41df-ba9f-95338e7dd232 WITH [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-4b20230d-4ffc-45eb-8730-6c6c9959dfd5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.50
{"uuid": "efcf342e-9440-41df-ba9f-95338e7dd232", "created_at": "2025-05-30T17:26:41.452908+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/efcf342e-9440-41df-ba9f-95338e7dd232", "rel": "self"}, {"href": "http://localhost/nodes/efcf342e-9440-41df-ba9f-95338e7dd232", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/efcf342e-9440-41df-ba9f-95338e7dd232/ports", "rel": "self"}, {"href": "http://localhost/nodes/efcf342e-9440-41df-ba9f-95338e7dd232/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/efcf342e-9440-41df-ba9f-95338e7dd232/states", "rel": "self"}, {"href": "http://localhost/nodes/efcf342e-9440-41df-ba9f-95338e7dd232/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/efcf342e-9440-41df-ba9f-95338e7dd232/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/efcf342e-9440-41df-ba9f-95338e7dd232/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/efcf342e-9440-41df-ba9f-95338e7dd232/volume", "rel": "self"}, {"href": "http://localhost/nodes/efcf342e-9440-41df-ba9f-95338e7dd232/volume", "rel": "bookmark"}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_unhold_cleanhold [0.100849s] ... 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-cc6d0d0c-9dbf-4950-8384-74f0ba066c49
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.85
{2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_invalid_name [0.105951s] ... 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-ae3ef2e1-1e1e-48e2-9931-ced0e3420aac
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup pg.1: Cannot change name to invalid name 'aa:bb_cc'\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_bios_hidden_in_lower_version [0.122715s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-5309b97a-412f-4d7e-9031-70de188cfe16
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:41.591782+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-a687b6c4-c965-49cf-8f9c-95383794aecc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:41.591782+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_node.TestPut.test_unhold_cleanhold_not_allowed [0.100546s] ... 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-58377027-e14a-4106-a321-b964b12a58c1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_not_found [0.092986s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/portgroups/2bb34757-704e-49f2-81a5-babaee542811 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-eaf2534d-9909-4174-a648-6eff66438cf8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 2bb34757-704e-49f2-81a5-babaee542811 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_boot_mode [0.133924s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/bc4fead1-25b0-468b-970e-b0818c5c782c WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-e867509c-96b5-4783-a0a4-f4b1fcdb7254
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.75
{"uuid": "bc4fead1-25b0-468b-970e-b0818c5c782c", "created_at": "2025-05-30T17:26:41.725493+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/bc4fead1-25b0-468b-970e-b0818c5c782c", "rel": "self"}, {"href": "http://localhost/nodes/bc4fead1-25b0-468b-970e-b0818c5c782c", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/bc4fead1-25b0-468b-970e-b0818c5c782c/ports", "rel": "self"}, {"href": "http://localhost/nodes/bc4fead1-25b0-468b-970e-b0818c5c782c/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/bc4fead1-25b0-468b-970e-b0818c5c782c/states", "rel": "self"}, {"href": "http://localhost/nodes/bc4fead1-25b0-468b-970e-b0818c5c782c/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/bc4fead1-25b0-468b-970e-b0818c5c782c/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/bc4fead1-25b0-468b-970e-b0818c5c782c/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/bc4fead1-25b0-468b-970e-b0818c5c782c/volume", "rel": "self"}, {"href": "http://localhost/nodes/bc4fead1-25b0-468b-970e-b0818c5c782c/volume", "rel": "bookmark"}]}
GET /v1/nodes/1e7495b8-915b-4473-a1b8-329665e11e05 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-c249102c-4c79-46cd-9afa-b85c042eddbf
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.75
{"uuid": "1e7495b8-915b-4473-a1b8-329665e11e05", "created_at": "2025-05-30T17:26:41.760649+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/1e7495b8-915b-4473-a1b8-329665e11e05", "rel": "self"}, {"href": "http://localhost/nodes/1e7495b8-915b-4473-a1b8-329665e11e05", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1e7495b8-915b-4473-a1b8-329665e11e05/ports", "rel": "self"}, {"href": "http://localhost/nodes/1e7495b8-915b-4473-a1b8-329665e11e05/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1e7495b8-915b-4473-a1b8-329665e11e05/states", "rel": "self"}, {"href": "http://localhost/nodes/1e7495b8-915b-4473-a1b8-329665e11e05/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1e7495b8-915b-4473-a1b8-329665e11e05/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1e7495b8-915b-4473-a1b8-329665e11e05/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1e7495b8-915b-4473-a1b8-329665e11e05/volume", "rel": "self"}, {"href": "http://localhost/nodes/1e7495b8-915b-4473-a1b8-329665e11e05/volume", "rel": "bookmark"}]}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_allocation_owned [0.220095s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/96768550-000b-45be-a7aa-9c618faa0a93 WITH [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT Response: 409 Conflict
Content-Type: application/json
Openstack-Request-Id: req-64ee5c74-c8f3-4d2e-bac4-8675c3ee7eb6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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 \\\"96768550-000b-45be-a7aa-9c618faa0a93\\\" while it is allocated to an allocation with an  owner.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_unhold_deployhold [0.136290s] ... 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-af474339-8c26-48bf-915c-a852c2f8275e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.85
{2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_address_normalized [0.169466s] ... 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-62011bc8-a8de-46c2-8644-620c47870708
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:26:41.804475+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_node.TestListNodes.test_node_boot_mode_hidden_in_lower_version [0.121186s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-89049a43-6294-49be-b407-2cef09368844
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:41.847913+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-d26fce11-f061-44cf-9de7-143ab6d62a8e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:41.847913+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"}]}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_old_api [0.123189s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/78ef943a-dd4b-4173-aa0d-009d89eb335f WITH [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-4ff55613-61aa-4d70-92d0-2a9681decf43
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node.TestPut.test_unhold_deployhold_not_allowed [0.160135s] ... 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-2991571f-ee60-4d4c-9a7c-82772361d61e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_boot_mode_null_field [0.128571s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-f257deda-2ce1-446d-81ad-33ec80ffc327
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:41.994426+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"}]}
{2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_internal_info_not_allowed [0.150071s] ... 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-ba263527-c325-46c8-b734-873ded712358
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid [0.084106s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?instance_uuid=69f71239-8504-4efc-a82b-c8b2a1b38034 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-549b1a5e-2ebb-48d1-9769-298c44b1d4f6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.5
{"nodes": [{"uuid": "130121f0-64b8-4489-9ced-ba71d2c61991", "instance_uuid": "69f71239-8504-4efc-a82b-c8b2a1b38034", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/130121f0-64b8-4489-9ced-ba71d2c61991", "rel": "self"}, {"href": "http://localhost/nodes/130121f0-64b8-4489-9ced-ba71d2c61991", "rel": "bookmark"}]}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_unhold_servicehold [0.164423s] ... 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-9c6e5772-b3ab-4f8e-a50e-b0d46f794a51
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.86
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid_invalid_uuid [0.071805s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?instance_uuid=fake WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-cccf60da-6d63-413d-b672-aaac67b60ce6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_owner_provisioned [0.245603s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/d06f6306-5dd3-4b53-9b12-5b1d5f9ae309 WITH [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-d90b7143-d86f-4ab9-b40e-920c6941fc77
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.50
{"uuid": "d06f6306-5dd3-4b53-9b12-5b1d5f9ae309", "created_at": "2025-05-30T17:26:42.049957+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/d06f6306-5dd3-4b53-9b12-5b1d5f9ae309", "rel": "self"}, {"href": "http://localhost/nodes/d06f6306-5dd3-4b53-9b12-5b1d5f9ae309", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/d06f6306-5dd3-4b53-9b12-5b1d5f9ae309/ports", "rel": "self"}, {"href": "http://localhost/nodes/d06f6306-5dd3-4b53-9b12-5b1d5f9ae309/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d06f6306-5dd3-4b53-9b12-5b1d5f9ae309/states", "rel": "self"}, {"href": "http://localhost/nodes/d06f6306-5dd3-4b53-9b12-5b1d5f9ae309/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d06f6306-5dd3-4b53-9b12-5b1d5f9ae309/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d06f6306-5dd3-4b53-9b12-5b1d5f9ae309/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d06f6306-5dd3-4b53-9b12-5b1d5f9ae309/volume", "rel": "self"}, {"href": "http://localhost/nodes/d06f6306-5dd3-4b53-9b12-5b1d5f9ae309/volume", "rel": "bookmark"}]}
{2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_mode_properties [0.162436s] ... 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-c2c7e7bc-e3fc-48d5-b772-2796a3467eb0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:26:42.144163+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"}]}
{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_unrescue_raises_error_before_1_38 [0.103752s] ... 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-4e210847-e1a8-43da-96f8-a25c6125dc90
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_provisioned_forbidden [0.081335s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/9ba60974-6eee-47b0-bca5-e2cf1ccba02f WITH [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT Response: 409 Conflict
Content-Type: application/json
Openstack-Request-Id: req-a2732088-e7ea-41af-849e-18e2bd7a5f5d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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 \\\"9ba60974-6eee-47b0-bca5-e2cf1ccba02f\\\" while it is in state \\\"active\\\".\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__GetPortByAddress.test__get_ports_by_address [0.059625s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid_wrong_uuid [0.168332s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?instance_uuid=53f17c15-3e4e-43bb-bd9b-4713b242f1bf WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-bf63e8bd-0395-4440-ad57-a12265b09992
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"nodes": []}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected [0.109135s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/798717ed-d183-438b-a4b9-7eafd63eb134 WITH [{'path': '/protected', 'value': True, 'op': 'replace'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-c1e24915-27f3-42f4-ab87-de55f15d2759
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.48
{"uuid": "798717ed-d183-438b-a4b9-7eafd63eb134", "created_at": "2025-05-30T17:26:42.335107+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/798717ed-d183-438b-a4b9-7eafd63eb134", "rel": "self"}, {"href": "http://localhost/nodes/798717ed-d183-438b-a4b9-7eafd63eb134", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/798717ed-d183-438b-a4b9-7eafd63eb134/ports", "rel": "self"}, {"href": "http://localhost/nodes/798717ed-d183-438b-a4b9-7eafd63eb134/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/798717ed-d183-438b-a4b9-7eafd63eb134/states", "rel": "self"}, {"href": "http://localhost/nodes/798717ed-d183-438b-a4b9-7eafd63eb134/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/798717ed-d183-438b-a4b9-7eafd63eb134/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/798717ed-d183-438b-a4b9-7eafd63eb134/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/798717ed-d183-438b-a4b9-7eafd63eb134/volume", "rel": "self"}, {"href": "http://localhost/nodes/798717ed-d183-438b-a4b9-7eafd63eb134/volume", "rel": "bookmark"}]}
{0} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__GetPortsCollection.test__get_ports_collection [0.079873s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_old_api [0.052493s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/5980b641-7400-496d-b0be-f8fa7f56c085 WITH [{'path': '/protected', 'value': True, 'op': 'replace'}] GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-a57efd3b-d23b-497c-8cd8-80e462aea23d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_port.TestPortsController__GetPortsCollection.test__get_ports_collection_conductor_groups [0.056759s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_conductor_group_hidden_in_lower_version [0.173865s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-f26c7b66-afbf-404f-a295-ab4235579c6b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:42.482052+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-581d6ca3-1740-4ff9-8683-c64272127072
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:42.482052+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"}]}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_reason [0.143879s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/a10c489c-e1cc-43c3-9acb-676a5afa7ea4 WITH [{'path': '/protected_reason', 'value': 'reason!', 'op': 'replace'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-fab368aa-4000-472c-90a9-71f9e4210832
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.48
{"uuid": "a10c489c-e1cc-43c3-9acb-676a5afa7ea4", "created_at": "2025-05-30T17:26:42.497041+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/a10c489c-e1cc-43c3-9acb-676a5afa7ea4", "rel": "self"}, {"href": "http://localhost/nodes/a10c489c-e1cc-43c3-9acb-676a5afa7ea4", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/a10c489c-e1cc-43c3-9acb-676a5afa7ea4/ports", "rel": "self"}, {"href": "http://localhost/nodes/a10c489c-e1cc-43c3-9acb-676a5afa7ea4/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a10c489c-e1cc-43c3-9acb-676a5afa7ea4/states", "rel": "self"}, {"href": "http://localhost/nodes/a10c489c-e1cc-43c3-9acb-676a5afa7ea4/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a10c489c-e1cc-43c3-9acb-676a5afa7ea4/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a10c489c-e1cc-43c3-9acb-676a5afa7ea4/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a10c489c-e1cc-43c3-9acb-676a5afa7ea4/volume", "rel": "self"}, {"href": "http://localhost/nodes/a10c489c-e1cc-43c3-9acb-676a5afa7ea4/volume", "rel": "bookmark"}]}
{0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byaddress [0.121301s] ... 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_node.TestListNodes.test_node_conductor_hidden_in_lower_version [0.109784s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-f87cc6ac-aa66-42cd-b2e5-4b2096f52fcd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:42.611885+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-f9a7740d-569c-40b7-aa25-242ecdbfbdb5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:42.611885+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_portgroup.TestDelete.test_delete_portgroup_byid [0.110428s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 204 No Content
Openstack-Request-Id: req-5b6c7056-42d1-4801-bcc1-bf924f50ec2b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_mode_properties_bad_api_version [0.507377s] ... 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-667f5ea5-303a-4fe9-8319-195e32eb395a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-de372723-5f19-46e1-a1b4-0551973f91f3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_portgroup.TestPatch.test_update_portgroup_standalone_ports_supported [0.050690s] ... 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-34c05f0d-aaeb-4875-9cc8-48d472d9b636
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:26:42.756183+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"}]}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_remove [0.214095s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/25b15e2f-f877-4160-9f69-db38bf67a3c7 WITH [{'op': 'remove', 'path': '/protected'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-bec318d3-6674-43ef-bd53-b58cdc86f281
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.48
{"uuid": "25b15e2f-f877-4160-9f69-db38bf67a3c7", "created_at": "2025-05-30T17:26:42.691573+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/25b15e2f-f877-4160-9f69-db38bf67a3c7", "rel": "self"}, {"href": "http://localhost/nodes/25b15e2f-f877-4160-9f69-db38bf67a3c7", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/25b15e2f-f877-4160-9f69-db38bf67a3c7/ports", "rel": "self"}, {"href": "http://localhost/nodes/25b15e2f-f877-4160-9f69-db38bf67a3c7/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/25b15e2f-f877-4160-9f69-db38bf67a3c7/states", "rel": "self"}, {"href": "http://localhost/nodes/25b15e2f-f877-4160-9f69-db38bf67a3c7/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/25b15e2f-f877-4160-9f69-db38bf67a3c7/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/25b15e2f-f877-4160-9f69-db38bf67a3c7/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/25b15e2f-f877-4160-9f69-db38bf67a3c7/volume", "rel": "self"}, {"href": "http://localhost/nodes/25b15e2f-f877-4160-9f69-db38bf67a3c7/volume", "rel": "bookmark"}]}
{0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname [0.086170s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/portgroups/pg.1 GOT Response: 204 No Content
Openstack-Request-Id: req-576c2178-459f-4295-ab83-a6d36d2a7403
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_deploy_step_hidden_in_lower_version [0.169433s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-2be33d07-e1e1-41d3-a24c-f39b732525b6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:42.746316+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-61275f43-4856-4d6e-b35e-9803e4d7bbbf
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:42.746316+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"}]}
{2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_standalone_ports_supported_bad_api_version [0.054080s] ... 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\": \"\"}"}
{2} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_invalid_major_version [0.022129s] ... ok
{2} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_ok [0.020318s] ... ok
{2} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_too_high [0.018861s] ... ok
{2} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_too_low [0.025760s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_description_null_field [0.137210s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-1896276d-1cdd-4a83-bebf-3bfbc0929647
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:42.921030+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"}]}
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestListRunbooks.test_collection_links [0.055248s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/runbooks/?limit=3 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-08634b4d-d2d8-4cfd-ae23-ca21fee56089
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"runbooks": [{"uuid": "6271fe0f-4c3e-4cc1-982e-0d577382ebaa", "name": "CUSTOM_DT0", "links": [{"href": "http://localhost/v1/runbooks/6271fe0f-4c3e-4cc1-982e-0d577382ebaa", "rel": "self"}, {"href": "http://localhost/runbooks/6271fe0f-4c3e-4cc1-982e-0d577382ebaa", "rel": "bookmark"}]}, {"uuid": "25421f66-997a-4b9e-a11e-3807a5bb2b94", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/runbooks/25421f66-997a-4b9e-a11e-3807a5bb2b94", "rel": "self"}, {"href": "http://localhost/runbooks/25421f66-997a-4b9e-a11e-3807a5bb2b94", "rel": "bookmark"}]}, {"uuid": "e2ecc443-29a9-4a4f-b402-964606ff9921", "name": "CUSTOM_DT2", "links": [{"href": "http://localhost/v1/runbooks/e2ecc443-29a9-4a4f-b402-964606ff9921", "rel": "self"}, {"href": "http://localhost/runbooks/e2ecc443-29a9-4a4f-b402-964606ff9921", "rel": "bookmark"}]}], "next": "http://localhost/v1/runbooks?sort_key=id&sort_dir=asc&fields=uuid,name&limit=3&marker=e2ecc443-29a9-4a4f-b402-964606ff9921"}
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestListRunbooks.test_collection_links_custom_fields [0.043291s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/runbooks?fields=uuid,steps WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-0c6ea2ef-b764-4253-b3f5-17dabae58d59
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"runbooks": [{"uuid": "dd7aaf9f-fb11-48cf-9789-4c597785d194", "links": [{"href": "http://localhost/v1/runbooks/dd7aaf9f-fb11-48cf-9789-4c597785d194", "rel": "self"}, {"href": "http://localhost/runbooks/dd7aaf9f-fb11-48cf-9789-4c597785d194", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}, {"uuid": "e5657284-5531-4969-bfa9-ee25510201ad", "links": [{"href": "http://localhost/v1/runbooks/e5657284-5531-4969-bfa9-ee25510201ad", "rel": "self"}, {"href": "http://localhost/runbooks/e5657284-5531-4969-bfa9-ee25510201ad", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}, {"uuid": "71695f8f-2d87-4099-8a3a-5724e432ddd7", "links": [{"href": "http://localhost/v1/runbooks/71695f8f-2d87-4099-8a3a-5724e432ddd7", "rel": "self"}, {"href": "http://localhost/runbooks/71695f8f-2d87-4099-8a3a-5724e432ddd7", "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=71695f8f-2d87-4099-8a3a-5724e432ddd7"}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_string [0.211931s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/98a80407-0b36-4606-8537-12bb1124a7b5 WITH [{'path': '/protected', 'value': 'True', 'op': 'replace'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-b7a752ff-c042-4ccc-a46e-426a7ad7ddc1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.48
{"uuid": "98a80407-0b36-4606-8537-12bb1124a7b5", "created_at": "2025-05-30T17:26:42.903780+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/98a80407-0b36-4606-8537-12bb1124a7b5", "rel": "self"}, {"href": "http://localhost/nodes/98a80407-0b36-4606-8537-12bb1124a7b5", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/98a80407-0b36-4606-8537-12bb1124a7b5/ports", "rel": "self"}, {"href": "http://localhost/nodes/98a80407-0b36-4606-8537-12bb1124a7b5/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/98a80407-0b36-4606-8537-12bb1124a7b5/states", "rel": "self"}, {"href": "http://localhost/nodes/98a80407-0b36-4606-8537-12bb1124a7b5/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/98a80407-0b36-4606-8537-12bb1124a7b5/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/98a80407-0b36-4606-8537-12bb1124a7b5/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/98a80407-0b36-4606-8537-12bb1124a7b5/volume", "rel": "self"}, {"href": "http://localhost/nodes/98a80407-0b36-4606-8537-12bb1124a7b5/volume", "rel": "bookmark"}]}
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestListRunbooks.test_collection_links_default_limit [0.049428s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/runbooks WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-e005862f-19b3-4637-a09a-7cffe978cc0e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"runbooks": [{"uuid": "898ebc26-f530-4862-9b35-f148e5704e2d", "name": "CUSTOM_DT0", "links": [{"href": "http://localhost/v1/runbooks/898ebc26-f530-4862-9b35-f148e5704e2d", "rel": "self"}, {"href": "http://localhost/runbooks/898ebc26-f530-4862-9b35-f148e5704e2d", "rel": "bookmark"}]}, {"uuid": "b5903d27-dec4-4a37-98b2-88d9d1277550", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/runbooks/b5903d27-dec4-4a37-98b2-88d9d1277550", "rel": "self"}, {"href": "http://localhost/runbooks/b5903d27-dec4-4a37-98b2-88d9d1277550", "rel": "bookmark"}]}, {"uuid": "0bd4d0f5-40ce-4c49-8a3d-6bf19a1df0be", "name": "CUSTOM_DT2", "links": [{"href": "http://localhost/v1/runbooks/0bd4d0f5-40ce-4c49-8a3d-6bf19a1df0be", "rel": "self"}, {"href": "http://localhost/runbooks/0bd4d0f5-40ce-4c49-8a3d-6bf19a1df0be", "rel": "bookmark"}]}], "next": "http://localhost/v1/runbooks?sort_key=id&sort_dir=asc&fields=uuid,name&limit=3&marker=0bd4d0f5-40ce-4c49-8a3d-6bf19a1df0be"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_disable_power_off_false_field [0.134678s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-75fb1046-b533-4274-8891-0d2b8953f074
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:43.058451+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_runbook.TestListRunbooks.test_detail_query [0.050331s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/runbooks?detail=True WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-093c31cc-d32f-45d2-a725-19e612475fae
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"runbooks": [{"uuid": "63d4fad0-6e41-4867-bd90-72a91ea66bfa", "created_at": "2025-05-30T17:26:43.110913+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/63d4fad0-6e41-4867-bd90-72a91ea66bfa", "rel": "self"}, {"href": "http://localhost/runbooks/63d4fad0-6e41-4867-bd90-72a91ea66bfa", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}]}
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestListRunbooks.test_detail_query_false [0.054404s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/runbooks WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-e62b1e57-421b-4feb-8d3d-96ad00a58f8c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"runbooks": [{"uuid": "00ce006b-726e-4728-9d52-f59385720dfa", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/runbooks/00ce006b-726e-4728-9d52-f59385720dfa", "rel": "self"}, {"href": "http://localhost/runbooks/00ce006b-726e-4728-9d52-f59385720dfa", "rel": "bookmark"}]}]}
GET /v1/runbooks?detail=False WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-d1f266e5-7112-438e-91d8-941ca813206e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"runbooks": [{"uuid": "00ce006b-726e-4728-9d52-f59385720dfa", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/runbooks/00ce006b-726e-4728-9d52-f59385720dfa", "rel": "self"}, {"href": "http://localhost/runbooks/00ce006b-726e-4728-9d52-f59385720dfa", "rel": "bookmark"}]}]}
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestListRunbooks.test_detail_sort_key_allowed [0.040668s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/runbooks?sort_key=name&detail=True WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-5c6360e1-c659-4ede-a5d4-2d5d5ccfd977
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"runbooks": [{"uuid": "cb42b732-9c60-4e09-b841-6df0da97b50f", "created_at": "2025-05-30T17:26:43.206960+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/cb42b732-9c60-4e09-b841-6df0da97b50f", "rel": "self"}, {"href": "http://localhost/runbooks/cb42b732-9c60-4e09-b841-6df0da97b50f", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}, {"uuid": "58471086-dfc6-4fb7-9e97-f789ed3de820", "created_at": "2025-05-30T17:26:43.205571+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/58471086-dfc6-4fb7-9e97-f789ed3de820", "rel": "self"}, {"href": "http://localhost/runbooks/58471086-dfc6-4fb7-9e97-f789ed3de820", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}, {"uuid": "6b66b2c2-c171-4a13-b28e-de4d410300f9", "created_at": "2025-05-30T17:26:43.204039+00:00", "updated_at": null, "name": "CUSTOM_DT3", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/6b66b2c2-c171-4a13-b28e-de4d410300f9", "rel": "self"}, {"href": "http://localhost/runbooks/6b66b2c2-c171-4a13-b28e-de4d410300f9", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}]}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_disable_power_off_hidden_in_lower_version [0.131633s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-c2971a7d-fe0f-48c3-bc41-d2281d70d446
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:43.206907+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-ab74681e-8eb9-409f-812b-61003c43e191
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:43.206907+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"}]}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_string_invalid [0.224174s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/50d683a3-0048-44ed-a31d-75449620c0c5 WITH [{'path': '/protected', 'value': 'YeahNahGood', 'op': 'replace'}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-f550fefa-eef7-4950-a252-43aeb0a582e5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestListRunbooks.test_detail_using_query_and_fields [0.049858s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/runbooks?detail=True&fields=name WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-2815b8bd-1fe5-4bfb-b090-d685b5567cfb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_runbook.TestListRunbooks.test_detail_using_query_false_and_fields [0.046289s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/runbooks?detail=False&fields=steps WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-fad7d4e9-8200-4f7b-8915-a303665b8b60
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"runbooks": [{"links": [{"href": "http://localhost/v1/runbooks/225de88a-fb6f-4f27-86d4-5c93a77ef14f", "rel": "self"}, {"href": "http://localhost/runbooks/225de88a-fb6f-4f27-86d4-5c93a77ef14f", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}]}
{0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname_not_existed [0.491478s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/portgroups/blah GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-a3f6ee9d-74c6-4809-92b6-7dd83e82b141
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup blah could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestListRunbooks.test_empty [0.032333s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/runbooks WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-ad60687f-f0be-46c6-b389-33fe06f8122c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"runbooks": []}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_disable_power_off_null_field [0.105106s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-ba814c0c-ad25-46be-bc4e-ed8804044441
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:43.321631+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_runbook.TestListRunbooks.test_get_all_invalid_api_version [0.033213s] ... 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\"}"}
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestListRunbooks.test_get_collection_custom_fields [0.042261s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/runbooks?fields=uuid,steps WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-3592a3d1-44c2-4d5c-8abc-2aca575ce89f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"runbooks": [{"uuid": "751605cf-a564-425b-9432-b5fe5890a584", "links": [{"href": "http://localhost/v1/runbooks/751605cf-a564-425b-9432-b5fe5890a584", "rel": "self"}, {"href": "http://localhost/runbooks/751605cf-a564-425b-9432-b5fe5890a584", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}, {"uuid": "acfe27ce-f70e-4037-a6c5-0bd80d991205", "links": [{"href": "http://localhost/v1/runbooks/acfe27ce-f70e-4037-a6c5-0bd80d991205", "rel": "self"}, {"href": "http://localhost/runbooks/acfe27ce-f70e-4037-a6c5-0bd80d991205", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}, {"uuid": "878a4ca7-90c0-4adc-86b6-e5c35bc9ab6c", "links": [{"href": "http://localhost/v1/runbooks/878a4ca7-90c0-4adc-86b6-e5c35bc9ab6c", "rel": "self"}, {"href": "http://localhost/runbooks/878a4ca7-90c0-4adc-86b6-e5c35bc9ab6c", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}]}
{0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname_with_json [0.152368s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/portgroups/pg.1.json GOT Response: 204 No Content
Openstack-Request-Id: req-66557ad9-667b-4bdd-82dc-54e75d908aef
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.90
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestListRunbooks.test_get_collection_pagination_no_uuid [0.051336s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/runbooks?fields=name&limit=2 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-e837d3b8-18dc-44cd-a42f-0b0ca2de5e15
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"runbooks": [{"name": "CUSTOM_DT0", "links": [{"href": "http://localhost/v1/runbooks/b32c17b7-6021-465c-b761-2be8721bd1fb", "rel": "self"}, {"href": "http://localhost/runbooks/b32c17b7-6021-465c-b761-2be8721bd1fb", "rel": "bookmark"}]}, {"name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/runbooks/1f50e7b5-ae2f-4ea7-86c3-693556061830", "rel": "self"}, {"href": "http://localhost/runbooks/1f50e7b5-ae2f-4ea7-86c3-693556061830", "rel": "bookmark"}]}], "next": "http://localhost/v1/runbooks?sort_key=id&sort_dir=asc&fields=name&limit=2&marker=1f50e7b5-ae2f-4ea7-86c3-693556061830"}
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestListRunbooks.test_get_custom_fields_invalid_fields [0.052428s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/runbooks/ae956b01-5b96-48db-8404-55b42e7b192e?fields=uuid,spongebob WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-8d8bb424-e88e-4f58-ad08-bc45592cedaf
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"}
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestListRunbooks.test_get_one [0.047560s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/runbooks/94b88f91-9173-4552-8c21-f1756000ccd6 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-0bf6b15f-baca-43f9-9687-cee1b8a286e0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "94b88f91-9173-4552-8c21-f1756000ccd6", "created_at": "2025-05-30T17:26:43.571088+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/94b88f91-9173-4552-8c21-f1756000ccd6", "rel": "self"}, {"href": "http://localhost/runbooks/94b88f91-9173-4552-8c21-f1756000ccd6", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_with_reason [0.317735s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/fb72f157-2a18-41f1-a341-8f44a6080323 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-75fb883f-6747-4a32-a966-0766e7ce7452
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.48
{"uuid": "fb72f157-2a18-41f1-a341-8f44a6080323", "created_at": "2025-05-30T17:26:43.419579+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/fb72f157-2a18-41f1-a341-8f44a6080323", "rel": "self"}, {"href": "http://localhost/nodes/fb72f157-2a18-41f1-a341-8f44a6080323", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/fb72f157-2a18-41f1-a341-8f44a6080323/ports", "rel": "self"}, {"href": "http://localhost/nodes/fb72f157-2a18-41f1-a341-8f44a6080323/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/fb72f157-2a18-41f1-a341-8f44a6080323/states", "rel": "self"}, {"href": "http://localhost/nodes/fb72f157-2a18-41f1-a341-8f44a6080323/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/fb72f157-2a18-41f1-a341-8f44a6080323/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/fb72f157-2a18-41f1-a341-8f44a6080323/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/fb72f157-2a18-41f1-a341-8f44a6080323/volume", "rel": "self"}, {"href": "http://localhost/nodes/fb72f157-2a18-41f1-a341-8f44a6080323/volume", "rel": "bookmark"}]}
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestListRunbooks.test_get_one_custom_fields [0.037955s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/runbooks/6990a8af-447a-4618-bf18-37b0843c004f?fields=name,steps WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-2c99a0b6-811d-4cea-a016-8830e9215e38
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/runbooks/6990a8af-447a-4618-bf18-37b0843c004f", "rel": "self"}, {"href": "http://localhost/runbooks/6990a8af-447a-4618-bf18-37b0843c004f", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
{0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_invalid_api_version [0.127133s] ... 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\": \"\"}"}
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestListRunbooks.test_get_one_invalid_api_version [0.037820s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/runbooks/505dec20-cf77-4632-a9e6-0951eb23e5a7 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\"}"}
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestListRunbooks.test_links [0.055701s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/runbooks/21a77ed5-98a1-4582-9e8d-71d83613b49e WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-9662de02-ff8b-4b14-97eb-5ebe01595ca6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "21a77ed5-98a1-4582-9e8d-71d83613b49e", "created_at": "2025-05-30T17:26:43.689769+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/21a77ed5-98a1-4582-9e8d-71d83613b49e", "rel": "self"}, {"href": "http://localhost/runbooks/21a77ed5-98a1-4582-9e8d-71d83613b49e", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
GET /v1/runbooks/21a77ed5-98a1-4582-9e8d-71d83613b49e WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-aee7bd7b-7afb-43b8-ae9b-8d57ab9e1f52
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "21a77ed5-98a1-4582-9e8d-71d83613b49e", "created_at": "2025-05-30T17:26:43.689769+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/21a77ed5-98a1-4582-9e8d-71d83613b49e", "rel": "self"}, {"href": "http://localhost/runbooks/21a77ed5-98a1-4582-9e8d-71d83613b49e", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
GET /runbooks/21a77ed5-98a1-4582-9e8d-71d83613b49e WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-c5c2473c-04e8-4a73-b0c0-54097d8f2cc2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "21a77ed5-98a1-4582-9e8d-71d83613b49e", "created_at": "2025-05-30T17:26:43.689769+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/21a77ed5-98a1-4582-9e8d-71d83613b49e", "rel": "self"}, {"href": "http://localhost/runbooks/21a77ed5-98a1-4582-9e8d-71d83613b49e", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestListRunbooks.test_many [0.076553s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/runbooks WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-07de1636-7f63-4c02-9ac1-9978a12839fa
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"runbooks": [{"uuid": "e5f21320-fbe1-42e1-8bc0-36ded0fcf100", "name": "CUSTOM_DT0", "links": [{"href": "http://localhost/v1/runbooks/e5f21320-fbe1-42e1-8bc0-36ded0fcf100", "rel": "self"}, {"href": "http://localhost/runbooks/e5f21320-fbe1-42e1-8bc0-36ded0fcf100", "rel": "bookmark"}]}, {"uuid": "38a64f64-3caf-4c2e-849c-6c5458c158fc", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/runbooks/38a64f64-3caf-4c2e-849c-6c5458c158fc", "rel": "self"}, {"href": "http://localhost/runbooks/38a64f64-3caf-4c2e-849c-6c5458c158fc", "rel": "bookmark"}]}, {"uuid": "aed011d7-0dcd-42a7-af39-4094bac15423", "name": "CUSTOM_DT2", "links": [{"href": "http://localhost/v1/runbooks/aed011d7-0dcd-42a7-af39-4094bac15423", "rel": "self"}, {"href": "http://localhost/runbooks/aed011d7-0dcd-42a7-af39-4094bac15423", "rel": "bookmark"}]}, {"uuid": "33553e98-667c-42ad-b5e2-d65e44fbe538", "name": "CUSTOM_DT3", "links": [{"href": "http://localhost/v1/runbooks/33553e98-667c-42ad-b5e2-d65e44fbe538", "rel": "self"}, {"href": "http://localhost/runbooks/33553e98-667c-42ad-b5e2-d65e44fbe538", "rel": "bookmark"}]}, {"uuid": "dd2e4a42-eea9-4656-bb43-9a153aaa406a", "name": "CUSTOM_DT4", "links": [{"href": "http://localhost/v1/runbooks/dd2e4a42-eea9-4656-bb43-9a153aaa406a", "rel": "self"}, {"href": "http://localhost/runbooks/dd2e4a42-eea9-4656-bb43-9a153aaa406a", "rel": "bookmark"}]}]}
{0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_node_locked [0.180839s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 409 Conflict
Content-Type: application/json
Openstack-Request-Id: req-1f2938e0-8a9c-4a84-912e-91dcefd39d76
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_node.TestListNodes.test_node_disable_power_off_true_field [0.526582s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-6d10aeb6-c19a-42b3-84a8-07c421e621b0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:43.845869+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"}]}
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestListRunbooks.test_one [0.106321s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/runbooks WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-7f5c0be0-ad4c-4d81-af45-48a8a2ff7298
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"runbooks": [{"uuid": "c028cdb9-2861-44cf-a8b4-28e5aa115c00", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/runbooks/c028cdb9-2861-44cf-a8b4-28e5aa115c00", "rel": "self"}, {"href": "http://localhost/runbooks/c028cdb9-2861-44cf-a8b4-28e5aa115c00", "rel": "bookmark"}]}]}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class [0.323125s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/983e4120-7715-49d4-ba3d-e9e8501cb0be WITH [{'path': '/resource_class', 'value': 'foo', 'op': 'add'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-9d8bfb22-98d7-4475-b04f-1d23ff31e36a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.21
{"uuid": "983e4120-7715-49d4-ba3d-e9e8501cb0be", "created_at": "2025-05-30T17:26:43.743205+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/983e4120-7715-49d4-ba3d-e9e8501cb0be", "rel": "self"}, {"href": "http://localhost/nodes/983e4120-7715-49d4-ba3d-e9e8501cb0be", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/983e4120-7715-49d4-ba3d-e9e8501cb0be/ports", "rel": "self"}, {"href": "http://localhost/nodes/983e4120-7715-49d4-ba3d-e9e8501cb0be/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/983e4120-7715-49d4-ba3d-e9e8501cb0be/states", "rel": "self"}, {"href": "http://localhost/nodes/983e4120-7715-49d4-ba3d-e9e8501cb0be/states", "rel": "bookmark"}]}
{0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspectionAutoDiscovery.test_enroll [0.119332s] ... 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-72b45747-3d9a-4a19-bc51-41e4a1f9d655
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "daddc91f-7467-4383-809a-0738ed190e53"}
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestListRunbooks.test_sensitive_data_masked [0.062075s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/runbooks/f2e3e1c8-8182-41b8-a537-5b8694caf43a WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-7eabab53-e350-4b8d-9f03-dd7bb6807815
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "f2e3e1c8-8182-41b8-a537-5b8694caf43a", "created_at": "2025-05-30T17:26:43.943224+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/f2e3e1c8-8182-41b8-a537-5b8694caf43a", "rel": "self"}, {"href": "http://localhost/runbooks/f2e3e1c8-8182-41b8-a537-5b8694caf43a", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": [], "password": "******"}, "order": 1}]}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_fault_hidden_in_lower_version [0.112809s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-343aa39f-4555-4296-bc76-c4728cbd4f6d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:43.946732+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-4e1c4c44-7ea7-4196-ae28-214b2ac56443
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:43.946732+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_runbook.TestListRunbooks.test_sort_key [0.044053s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/runbooks?sort_key=uuid WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-4d269cef-c376-43b4-88d4-bac8aa6085bd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"runbooks": [{"uuid": "2c17b3e8-3f80-487d-9a88-7bcfc5d4df4d", "name": "CUSTOM_DT0", "links": [{"href": "http://localhost/v1/runbooks/2c17b3e8-3f80-487d-9a88-7bcfc5d4df4d", "rel": "self"}, {"href": "http://localhost/runbooks/2c17b3e8-3f80-487d-9a88-7bcfc5d4df4d", "rel": "bookmark"}]}, {"uuid": "6a494457-ef02-451b-ae88-1c683a9c19c7", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/runbooks/6a494457-ef02-451b-ae88-1c683a9c19c7", "rel": "self"}, {"href": "http://localhost/runbooks/6a494457-ef02-451b-ae88-1c683a9c19c7", "rel": "bookmark"}]}, {"uuid": "fa3e6d06-4fef-4eb5-886a-64c1f5e8092d", "name": "CUSTOM_DT2", "links": [{"href": "http://localhost/v1/runbooks/fa3e6d06-4fef-4eb5-886a-64c1f5e8092d", "rel": "self"}, {"href": "http://localhost/runbooks/fa3e6d06-4fef-4eb5-886a-64c1f5e8092d", "rel": "bookmark"}]}]}
{0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspectionAutoDiscovery.test_override_defaults [0.124162s] ... 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-c803b6ae-8924-4fc5-928c-7bb674827299
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "b1c9e336-e410-4725-ac55-4275b74802d5"}
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestListRunbooks.test_sort_key_allowed [0.056624s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/runbooks?sort_key=name&detail=False WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-caaca93a-fe54-4aff-9e34-3c707688e42e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"runbooks": [{"uuid": "7a744915-ab9c-47bb-a705-07aad0e9555f", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/runbooks/7a744915-ab9c-47bb-a705-07aad0e9555f", "rel": "self"}, {"href": "http://localhost/runbooks/7a744915-ab9c-47bb-a705-07aad0e9555f", "rel": "bookmark"}]}, {"uuid": "684ae833-b183-4988-aca5-48645d6928d9", "name": "CUSTOM_DT2", "links": [{"href": "http://localhost/v1/runbooks/684ae833-b183-4988-aca5-48645d6928d9", "rel": "self"}, {"href": "http://localhost/runbooks/684ae833-b183-4988-aca5-48645d6928d9", "rel": "bookmark"}]}, {"uuid": "e1b418e2-673b-4b74-be19-ed4a257ae285", "name": "CUSTOM_DT3", "links": [{"href": "http://localhost/v1/runbooks/e1b418e2-673b-4b74-be19-ed4a257ae285", "rel": "self"}, {"href": "http://localhost/runbooks/e1b418e2-673b-4b74-be19-ed4a257ae285", "rel": "bookmark"}]}]}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_inspect_wait_state_between_api_versions [0.095010s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-00954677-ed9c-44d7-ad81-b09f4ec19374
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:44.057986+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-d484d982-3aac-4667-8058-ae559368052a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:44.057986+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_runbook.TestListRunbooks.test_sort_key_invalid [0.042661s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/runbooks?sort_key=extra WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-f4ba5674-e68c-45db-999f-407fda6b5fc4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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-2ae22bad-4728-4e3d-bba9-16046fecb831
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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-e13cb3e3-f09b-46d1-93c3-cea0d248f8fc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value steps is an invalid field for sorting\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspectionAutoDiscovery.test_wrong_driver [0.111766s] ... 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-d9533f78-e1c7-4c58-9ce3-f8f9fed5a435
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_max_length [0.292971s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/f3362864-0d3f-4e1f-9fc8-3b0cf71950f7 WITH [{'path': '/resource_class', 'value': 'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'op': 'add'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-4c73f4da-4486-447b-a66a-74b430cf1a4a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.21
{"uuid": "f3362864-0d3f-4e1f-9fc8-3b0cf71950f7", "created_at": "2025-05-30T17:26:44.067956+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/f3362864-0d3f-4e1f-9fc8-3b0cf71950f7", "rel": "self"}, {"href": "http://localhost/nodes/f3362864-0d3f-4e1f-9fc8-3b0cf71950f7", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/f3362864-0d3f-4e1f-9fc8-3b0cf71950f7/ports", "rel": "self"}, {"href": "http://localhost/nodes/f3362864-0d3f-4e1f-9fc8-3b0cf71950f7/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/f3362864-0d3f-4e1f-9fc8-3b0cf71950f7/states", "rel": "self"}, {"href": "http://localhost/nodes/f3362864-0d3f-4e1f-9fc8-3b0cf71950f7/states", "rel": "bookmark"}]}
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_add_multi [0.100564s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/15a57559-ba7a-460c-a4a2-26dd013cd7e7 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-5d1e6ddb-120f-4656-9555-cd154160b059
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "15a57559-ba7a-460c-a4a2-26dd013cd7e7", "created_at": "2025-05-30T17:26:44.146807+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/15a57559-ba7a-460c-a4a2-26dd013cd7e7", "rel": "self"}, {"href": "http://localhost/runbooks/15a57559-ba7a-460c-a4a2-26dd013cd7e7", "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}]}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_interface_fields_hidden_in_lower_version [0.136728s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-6c97bccd-7a38-4e7a-b287-3c73d305d512
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:44.182388+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"}]}
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_add_root_non_existent [0.062148s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/cd951db0-2708-474f-97ec-4892b08146c4 WITH [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-9cc49212-0a66-4c94-bcb2-0cd628b00048
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_fast_deploy_lookup [0.124304s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=6ea62e3f-e0da-41d1-b2d2-f19eb8ade096 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-c84bfabb-cdd9-4df3-b289-bfa33db31232
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"node": {"uuid": "6ea62e3f-e0da-41d1-b2d2-f19eb8ade096", "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/6ea62e3f-e0da-41d1-b2d2-f19eb8ade096", "rel": "self"}, {"href": "http://localhost/nodes/6ea62e3f-e0da-41d1-b2d2-f19eb8ade096", "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=6ea62e3f-e0da-41d1-b2d2-f19eb8ade096 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-1f968e28-e997-472d-90ba-93354be21b58
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"node": {"uuid": "6ea62e3f-e0da-41d1-b2d2-f19eb8ade096", "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/6ea62e3f-e0da-41d1-b2d2-f19eb8ade096", "rel": "self"}, {"href": "http://localhost/nodes/6ea62e3f-e0da-41d1-b2d2-f19eb8ade096", "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=6ea62e3f-e0da-41d1-b2d2-f19eb8ade096 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-7e2e60f5-e4cb-4211-b2fe-916ff46155f4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"node": {"uuid": "6ea62e3f-e0da-41d1-b2d2-f19eb8ade096", "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/6ea62e3f-e0da-41d1-b2d2-f19eb8ade096", "rel": "self"}, {"href": "http://localho
    st/nodes/6ea62e3f-e0da-41d1-b2d2-f19eb8ade096", "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.controllers.v1.test_node.TestPatch.test_update_resource_class_old_api [0.110985s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/74f75abd-ffbb-4ba3-8de2-f44ee0c2d229 WITH [{'path': '/resource_class', 'value': 'foo', 'op': 'add'}] GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-7a94c389-85c4-4a15-8d1e-ca47eeb3a840
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_runbook.TestPatch.test_add_too_high_index_step_fail [0.059295s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/86a856b8-7e22-4c18-8c1a-af3369c0eb0e 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-57fb6ac5-a90c-4551-9168-88f6c674b33e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}"}
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_remove_foo [0.051216s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/bdcd05bd-2006-4add-9170-313ef9405ff2 WITH [{'path': '/foo', 'op': 'remove'}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-376c867f-8546-49c5-841b-cf8037067d77
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_node.TestListNodes.test_node_lessee_hidden_in_lower_version [0.166016s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-b0ba2796-7d79-4400-81c7-de02d2277f6d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:44.335783+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-a1bfbf9b-6e2f-4e96-b4f8-d81d681aa7c2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:44.335783+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"}]}
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_remove_multi [0.100802s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/97af7672-7807-49b7-8072-d739072d52b5 WITH [{'path': '/steps/1', 'op': 'remove'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-77006bbd-0a8e-4abd-9a7c-81237c202acb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "97af7672-7807-49b7-8072-d739072d52b5", "created_at": "2025-05-30T17:26:44.412599+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/97af7672-7807-49b7-8072-d739072d52b5", "rel": "self"}, {"href": "http://localhost/runbooks/97af7672-7807-49b7-8072-d739072d52b5", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration0", "args": {}, "order": 2}, {"interface": "raid", "step": "create_configuration2", "args": {}, "order": 2}]}
{0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_found_by_addresses [0.177673s] ... 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-c16d15a5-4fc4-45ef-ab96-6e6c3c59e85e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"node": {"uuid": "afb69044-18af-4190-af95-c1662006689c", "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/afb69044-18af-4190-af95-c1662006689c", "rel": "self"}, {"href": "http://localhost/nodes/afb69044-18af-4190-af95-c1662006689c", "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"]}}
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_remove_name [0.052004s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/688fb67d-1889-4c73-84e1-d38a53c3bdcc WITH [{'path': '/name', 'op': 'remove'}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-5342e60c-6675-4982-bd60-9563337d8cdc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'name' is a required property\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_lessee_null_field [0.141799s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-ba1c078a-25d9-4b14-959a-f3a933d469bd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:44.509529+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"}]}
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_remove_non_existent_property_fail [0.033908s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/437d396d-ccbb-47f3-9fa0-da78cbc76e35 WITH [{'path': '/non-existent', 'op': 'remove'}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-98e0cbc2-5a36-4c8d-b61c-9b77b4279fa9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.controllers.v1.test_node.TestPatch.test_update_resource_class_too_long [0.274870s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/37c12e1e-ff5c-4222-9ed7-23d1c2560a68 WITH [{'path': '/resource_class', 'value': 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'op': 'add'}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-98be35f5-ae58-4cc3-975f-62838d3f72ce
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_found_by_only_uuid [0.123286s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/lookup?node_uuid=90ea92ed-96af-404c-ac82-0fbf6f4b702a WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-fcefff50-44bc-480d-9c1c-05ef42ac550c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"node": {"uuid": "90ea92ed-96af-404c-ac82-0fbf6f4b702a", "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/90ea92ed-96af-404c-ac82-0fbf6f4b702a", "rel": "self"}, {"href": "http://localhost/nodes/90ea92ed-96af-404c-ac82-0fbf6f4b702a", "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_runbook.TestPatch.test_remove_non_existent_step_fail [0.063478s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/5014ce68-1224-4e29-97a8-e2e9c824448a WITH [{'path': '/steps/1', 'op': 'remove'}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-c6dd13e0-6355-40da-b14a-6c6f38fad3fb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.v1.test_node.TestListNodes.test_node_lessee_present [0.139922s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-8e6469a1-ea14-4de3-82c1-dfb3851c0949
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:44.660648+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"}]}
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_remove_non_existent_step_property_fail [0.075175s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/81d678ac-da83-4bba-b3b3-f4affc4d3124 WITH [{'path': '/steps/0/non-existent', 'op': 'remove'}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-fedea642-f143-425c-b90e-56731f658af5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}"}
{0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_found_by_uuid [0.090840s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=a6474573-a4c8-4429-a3d9-b2e468b8fa04 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-d6deafb4-b80b-47f2-8382-639fecf641fa
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"node": {"uuid": "a6474573-a4c8-4429-a3d9-b2e468b8fa04", "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/a6474573-a4c8-4429-a3d9-b2e468b8fa04", "rel": "self"}, {"href": "http://localhost/nodes/a6474573-a4c8-4429-a3d9-b2e468b8fa04", "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"]}}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_network_data [0.093839s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/608f298a-5f5e-41a9-9da6-866b971e5a9c WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-59881ba3-42d1-4c84-90d9-ed5d8ac16a26
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.66
{"uuid": "608f298a-5f5e-41a9-9da6-866b971e5a9c", "created_at": "2025-05-30T17:26:44.768018+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/608f298a-5f5e-41a9-9da6-866b971e5a9c", "rel": "self"}, {"href": "http://localhost/nodes/608f298a-5f5e-41a9-9da6-866b971e5a9c", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/608f298a-5f5e-41a9-9da6-866b971e5a9c/ports", "rel": "self"}, {"href": "http://localhost/nodes/608f298a-5f5e-41a9-9da6-866b971e5a9c/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/608f298a-5f5e-41a9-9da6-866b971e5a9c/states", "rel": "self"}, {"href
    ": "http://localhost/nodes/608f298a-5f5e-41a9-9da6-866b971e5a9c/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/608f298a-5f5e-41a9-9da6-866b971e5a9c/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/608f298a-5f5e-41a9-9da6-866b971e5a9c/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/608f298a-5f5e-41a9-9da6-866b971e5a9c/volume", "rel": "self"}, {"href": "http://localhost/nodes/608f298a-5f5e-41a9-9da6-866b971e5a9c/volume", "rel": "bookmark"}]}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired [0.216182s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/1de5d7e5-5ed4-4685-ac07-7568d19ed899 WITH [{'path': '/retired', 'value': True, 'op': 'replace'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-d2322ade-5c36-4f51-b0e4-77ad0be5bbe6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.61
{"uuid": "1de5d7e5-5ed4-4685-ac07-7568d19ed899", "created_at": "2025-05-30T17:26:44.688160+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/1de5d7e5-5ed4-4685-ac07-7568d19ed899", "rel": "self"}, {"href": "http://localhost/nodes/1de5d7e5-5ed4-4685-ac07-7568d19ed899", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1de5d7e5-5ed4-4685-ac07-7568d19ed899/ports", "rel": "self"}, {"href": "http://localhost/nodes/1de5d7e5-5ed4-4685-ac07-7568d19ed899/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1de5d7e5-5ed4-4685-ac07-7568d19ed899/states", "rel": "self"}, {"href": "http://localhost/nodes/1de5d7e5-5ed4-4685-ac07-7568d19ed899/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1de5d7e5-5ed4-4685-ac07-7568d19ed899/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1de5d7e5-5ed4-4685-ac07-7568d19ed899/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1de5d7e5-5ed4-4685-ac07-7568d19ed899/volume", "rel": "self"}, {"href": "http://localhost/nodes/1de5d7e5-5ed4-4685-ac07-7568d19ed899/volume", "rel": "bookmark"}]}
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_remove_only_step_fail [0.119119s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/f6ab3b5c-3d3e-4716-a6ea-3821e2b8f6bc WITH [{'path': '/steps/0', 'op': 'remove'}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-5db9d937-d822-427e-abaa-55bc121224ce
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: [] is too short\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_ignore_malformed_address [0.132762s] ... 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-ac55cf09-dcfe-4329-a87b-e0cf16df3a07
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"node": {"uuid": "a679f1c4-7710-4a42-8c02-223493384b33", "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/a679f1c4-7710-4a42-8c02-223493384b33", "rel": "self"}, {"href": "http://localhost/nodes/a679f1c4-7710-4a42-8c02-223493384b33", "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_runbook.TestPatch.test_remove_steps [0.079341s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/760349cf-8fb2-4c0d-930a-0de5b012d09b WITH [{'path': '/steps', 'op': 'remove'}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-73b165f9-2fdb-4f84-a917-a48ea2ae0a65
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'steps' is a required property\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_network_data_hidden_in_lower_version [0.107519s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-80c5aee3-c0e1-4bec-8871-7108adbbafb8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:44.861999+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-5fe6f497-7445-4a3e-9376-cdbbbde93be1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:44.861999+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"}]}
{0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_invalid_input_addresses [0.074058s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/lookup?addresses=meow1 WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-0f21933f-9e55-43ca-8e95-339e24a91c86
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"At least one of 'addresses' and 'node_uuid' parameters is required\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_old_api [0.114087s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/e86272e9-ad9d-42fd-ba85-e9d9ad6617b2 WITH [{'path': '/retired', 'value': True, 'op': 'replace'}] GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-85851c40-f528-4dcb-833e-3ea426f4bd37
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_runbook.TestPatch.test_remove_uuid [0.043651s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/54919772-9d04-4e08-9737-74bf22c32175 WITH [{'path': '/uuid', 'op': 'remove'}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-399472f4-1b1a-43a6-9d24-da8716a5ced0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /uuid. Only the following can be updated: extra, name, steps, description, public, owner\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_invalid_input_node_uuid [0.076200s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/lookup?node_uuid=meow1 WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-9013cf80-eb5f-40d8-b012-b75582c3fde9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for node_uuid: meow1\", \"debuginfo\": null}"}
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_replace_duplicate_step [0.066122s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/466ae754-eaa6-4234-9a7b-39ea8560c555 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-e803fde2-2a32-4d8c-917a-bfad0a299ace
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_runbook.TestPatch.test_replace_empty_step_list_fail [0.063544s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/7f9727eb-b573-4944-b322-3ec51b59d344 WITH [{'path': '/steps', 'op': 'replace', 'value': []}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-d27ce994-1995-488b-b4e5-339c7c3028da
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: [] is too short\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_no_restrict_lookup [0.081567s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=e5f71121-15dd-4a81-aa74-9110c0fdae85 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-0d1281d5-9e15-4202-8a05-eae77f443a12
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"node": {"uuid": "e5f71121-15dd-4a81-aa74-9110c0fdae85", "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/e5f71121-15dd-4a81-aa74-9110c0fdae85", "rel": "self"}, {"href": "http://localhost/nodes/e5f71121-15dd-4a81-aa74-9110c0fdae85", "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"]}}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_hidden_in_lower_version [0.199643s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-9e6af426-21a2-4da7-8889-916b24f5a510
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:45.010452+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-b611b36f-4ffe-4e43-8837-36354eb7cda5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:45.010452+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_retired_reason [0.185911s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/e6680705-745f-461b-b225-38c4f69b4b0d WITH [{'path': '/retired_reason', 'value': 'a better reason', 'op': 'replace'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-55b785cb-e937-4c23-a337-019477208751
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.61
{"uuid": "e6680705-745f-461b-b225-38c4f69b4b0d", "created_at": "2025-05-30T17:26:45.022732+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/e6680705-745f-461b-b225-38c4f69b4b0d", "rel": "self"}, {"href": "http://localhost/nodes/e6680705-745f-461b-b225-38c4f69b4b0d", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e6680705-745f-461b-b225-38c4f69b4b0d/ports", "rel": "self"}, {"href": "http://localhost/nodes/e6680705-745f-461b-b225-38c4f69b4b0d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e6680705-745f-461b-b225-38c4f69b4b0d/states", "rel": "self"}, {"href": "http://localhost/nodes/e6680705-745f-461b-b225-38c4f69b4b0d/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e6680705-745f-461b-b225-38c4f69b4b0d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e6680705-745f-461b-b225-38c4f69b4b0d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e6680705-745f-461b-b225-38c4f69b4b0d/volume", "rel": "self"}, {"href": "http://localhost/nodes/e6680705-745f-461b-b225-38c4f69b4b0d/volume", "rel": "bookmark"}]}
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_replace_invalid_name_none [0.052410s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/1045471c-6069-41c8-b903-1589977e29dd WITH [{'path': '/name', 'op': 'replace', 'value': None}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-118dc3db-8e18-453b-ab8d-a0012c383d0a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: None is not of type 'string'\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_not_found [0.072697s] ... 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-4a5417fb-e800-4faf-915f-da741b83d553
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_replace_invalid_name_too_long [0.076499s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/3dfe25cc-6bd1-4c57-b0aa-b61b7a5cdc94 WITH [{'path': '/name', 'op': 'replace', 'value': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-40fdc5eb-477c-4931-89c5-a12fa5152f86
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.044129s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/bae994e8-2f41-49e1-89ea-c1b85aa2b594 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-9327bed4-c1f2-44c8-8334-c204d607ae8e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'foo' is not one of ['vendor', 'power', 'management', 'firmware', 'deploy', 'bios', 'raid']\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_nothing_provided [0.077300s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/lookup WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-5c00b85c-247e-47c2-bf92-9c152aedcaee
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_node.TestListNodes.test_node_owner_null_field [0.144643s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-a28a402e-29b9-48c0-9810-2b0ac08fb5d6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:45.220488+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_retired_remove [0.199992s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/d93a2940-fb8c-41f8-970f-aaf626dfa99f WITH [{'op': 'remove', 'path': '/retired'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-12ac9afd-578b-4ce2-a3a6-3aa847f437aa
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.61
{"uuid": "d93a2940-fb8c-41f8-970f-aaf626dfa99f", "created_at": "2025-05-30T17:26:45.214822+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/d93a2940-fb8c-41f8-970f-aaf626dfa99f", "rel": "self"}, {"href": "http://localhost/nodes/d93a2940-fb8c-41f8-970f-aaf626dfa99f", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/d93a2940-fb8c-41f8-970f-aaf626dfa99f/ports", "rel": "self"}, {"href": "http://localhost/nodes/d93a2940-fb8c-41f8-970f-aaf626dfa99f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d93a2940-fb8c-41f8-970f-aaf626dfa99f/states", "rel": "self"}, {"href": "http://localhost/nodes/d93a2940-fb8c-41f8-970f-aaf626dfa99f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d93a2940-fb8c-41f8-970f-aaf626dfa99f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d93a2940-fb8c-41f8-970f-aaf626dfa99f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d93a2940-fb8c-41f8-970f-aaf626dfa99f/volume", "rel": "self"}, {"href": "http://localhost/nodes/d93a2940-fb8c-41f8-970f-aaf626dfa99f/volume", "rel": "bookmark"}]}
{0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_old_api_version [0.090439s] ... 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-625fedcd-948c-4335-a655-f797868f474e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_runbook.TestPatch.test_replace_multi [0.100811s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/73963afe-1a37-4584-967d-f962b8489bf7 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-aba0fc79-36d3-4f20-94ad-0c11b83f34d8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "73963afe-1a37-4584-967d-f962b8489bf7", "created_at": "2025-05-30T17:26:45.293250+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/73963afe-1a37-4584-967d-f962b8489bf7", "rel": "self"}, {"href": "http://localhost/runbooks/73963afe-1a37-4584-967d-f962b8489bf7", "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}]}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_present [0.110802s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-bcfda842-4b71-4d86-a76d-16847d96fcd2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:45.347657+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"}]}
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_replace_name_already_exist [0.066248s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/4fb85a6e-158b-449a-887b-340213f80b1c WITH [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'replace'}] GOT Response: 409 Conflict
Content-Type: application/json
Openstack-Request-Id: req-94f229ef-af0d-4cba-8117-13ab82bbb4e3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A runbook with UUID 4fb85a6e-158b-449a-887b-340213f80b1c already exists.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_restrict_lookup [0.083456s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=dcb757fb-10c0-405b-a550-af444ff89c23 WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-41f087b3-0b15-424c-aa84-f322178dc3e1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_replace_non_existent_step_fail [0.047404s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/c8fc4cea-7927-4712-b349-6a3a734debd3 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-66639ea0-488d-4a70-bc3d-4fd893c71bc3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_node.TestListNodes.test_node_protected [0.112204s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1a8e050f-2ba9-4622-8f93-d4db3e807c5e WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-ebeafb34-970f-40bd-8787-807127a84c43
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.48
{"uuid": "1a8e050f-2ba9-4622-8f93-d4db3e807c5e", "created_at": "2025-05-30T17:26:45.442560+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/1a8e050f-2ba9-4622-8f93-d4db3e807c5e", "rel": "self"}, {"href": "http://localhost/nodes/1a8e050f-2ba9-4622-8f93-d4db3e807c5e", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1a8e050f-2ba9-4622-8f93-d4db3e807c5e/ports", "rel": "self"}, {"href": "http://localhost/nodes/1a8e050f-2ba9-4622-8f93-d4db3e807c5e/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1a8e050f-2ba9-4622-8f93-d4db3e807c5e/states", "rel": "self"}, {"href": "http://localhost/nodes/1a8e050f-2ba9-4622-8f93-d4db3e807c5e/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1a8e050f-2ba9-4622-8f93-d4db3e807c5e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1a8e050f-2ba9-4622-8f93-d4db3e807c5e/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1a8e050f-2ba9-4622-8f93-d4db3e807c5e/volume", "rel": "self"}, {"href": "http://localhost/nodes/1a8e050f-2ba9-4622-8f93-d4db3e807c5e/volume", "rel": "bookmark"}]}
GET /v1/nodes/b2443b11-fcc3-4fde-852f-cd984a91c697 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-6789ef5a-4f5d-4284-a689-28a95290b99b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.48
{"uuid": "b2443b11-fcc3-4fde-852f-cd984a91c697", "created_at": "2025-05-30T17:26:45.469502+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/b2443b11-fcc3-4fde-852f-cd984a91c697", "rel": "self"}, {"href": "http://localhost/nodes/b2443b11-fcc3-4fde-852f-cd984a91c697", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/b2443b11-fcc3-4fde-852f-cd984a91c697/ports", "rel": "self"}, {"href": "http://localhost/nodes/b2443b11-fcc3-4fde-852f-cd984a91c697/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b2443b11-fcc3-4fde-852f-cd984a91c697/states", "rel": "self"}, {"href": "http://localhost/nodes/b2443b11-fcc3-4fde-852f-cd984a91c697/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b2443b11-fcc3-4fde-852f-cd984a91c697/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b2443b11-fcc3-4fde-852f-cd984a91c697/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b2443b11-fcc3-4fde-852f-cd984a91c697/volume", "rel": "self"}, {"href": "http://localhost/nodes/b2443b11-fcc3-4fde-852f-cd984a91c697/volume", "rel": "bookmark"}]}
{0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve [0.051645s] ... ok
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_replace_step_invalid_interface [0.054945s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/e8b6d85f-5d9c-4438-be2b-2a8491d5ff39 WITH [{'path': '/steps/0/interface', 'op': 'replace', 'value': 'foo'}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-33a17b6a-927a-4547-ac09-df57e6ae1d64
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'foo' is not one of ['vendor', 'power', 'management', 'firmware', 'deploy', 'bios', 'raid']\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_with_reason [0.207735s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/9c6573d9-2dd7-487c-aeec-90462257708a 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-20877c63-a1c0-45ff-9b85-7b29e80822fa
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.61
{"uuid": "9c6573d9-2dd7-487c-aeec-90462257708a", "created_at": "2025-05-30T17:26:45.431648+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/9c6573d9-2dd7-487c-aeec-90462257708a", "rel": "self"}, {"href": "http://localhost/nodes/9c6573d9-2dd7-487c-aeec-90462257708a", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/9c6573d9-2dd7-487c-aeec-90462257708a/ports", "rel": "self"}, {"href": "http://localhost/nodes/9c6573d9-2dd7-487c-aeec-90462257708a/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/9c6573d9-2dd7-487c-aeec-90462257708a/states", "rel": "self"}, {"href": "http://localhost/nodes/9c6573d9-2dd7-487c-aeec-90462257708a/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/9c6573d9-2dd7-487c-aeec-90462257708a/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/9c6573d9-2dd7-487c-aeec-90462257708a/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/9c6573d9-2dd7-487c-aeec-90462257708a/volume", "rel": "self"}, {"href": "http://localhost/nodes/9c6573d9-2dd7-487c-aeec-90462257708a/volume", "rel": "bookmark"}]}
{0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_no_node [0.049459s] ... ok
{0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_no_node_policy_notfound [0.050353s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_hidden_in_lower_version [0.121674s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-33bc3c62-6063-446a-bb3c-1ccd867e6aa0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:45.570259+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-5be8a037-1583-4695-8058-f76ad5fff160
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:45.570259+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"}]}
{0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_policy_forbidden [0.053312s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_state [0.107957s] ... 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-3ca42cab-dde2-4f22-b7ef-fbfabea532fa
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_with_suffix [0.053334s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_reason_hidden_in_lower_version [0.105961s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-6712e5f0-2251-4c8e-bbb7-cd9e5ef0a807
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:45.676689+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-dc568418-5ae9-4d23-a1b2-daa860760d19
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:45.676689+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"}]}
{0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckOwnerPolicy.test_check_owner_policy [0.043048s] ... ok
{0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckOwnerPolicy.test_check_owner_policy_forbidden [0.047691s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_with_reason [0.088480s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-7f8ef77a-6356-48bf-90d9-93d99d1815a5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:45.788823+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"}]}
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_runbook_set_owner_public_system_scope [0.296009s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/runbooks WITH {'name': 'CUSTOM_UNIQUE1', 'uuid': '74b96f5c-7d3f-4545-91a0-f89008158c94', '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/74b96f5c-7d3f-4545-91a0-f89008158c94
Openstack-Request-Id: req-1f0eae94-04aa-41ce-9c6e-9a31bbb80a6b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "74b96f5c-7d3f-4545-91a0-f89008158c94", "created_at": "2025-05-30T17:26:45.799033+00:00", "updated_at": null, "name": "CUSTOM_UNIQUE1", "extra": {}, "public": true, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/74b96f5c-7d3f-4545-91a0-f89008158c94", "rel": "self"}, {"href": "http://localhost/runbooks/74b96f5c-7d3f-4545-91a0-f89008158c94", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
PATCH /v1/runbooks/74b96f5c-7d3f-4545-91a0-f89008158c94 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-7ac873b8-42b4-4071-8273-27224cf6cc65
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "74b96f5c-7d3f-4545-91a0-f89008158c94", "created_at": "2025-05-30T17:26:45.799033+00:00", "updated_at": null, "name": "CUSTOM_UNIQUE1", "extra": {}, "public": false, "owner": "projectX", "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/74b96f5c-7d3f-4545-91a0-f89008158c94", "rel": "self"}, {"href": "http://localhost/runbooks/74b96f5c-7d3f-4545-91a0-f89008158c94", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
{0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy [0.049296s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_storage_interface [0.205848s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/fdf70a64-b1b5-4e8e-b110-23fa22750526 WITH [{'path': '/storage_interface', 'value': 'cinder', 'op': 'add'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-908998fc-d860-4b4a-8ebb-af1bd22f5dc3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "fdf70a64-b1b5-4e8e-b110-23fa22750526", "created_at": "2025-05-30T17:26:45.755886+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/fdf70a64-b1b5-4e8e-b110-23fa22750526", "rel": "self"}, {"href": "http://localhost/nodes/fdf70a64-b1b5-4e8e-b110-23fa22750526", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/fdf70a64-b1b5-4e8e-b110-23fa22750526/ports", "rel": "self"}, {"href": "http://localhost/nodes/fdf70a64-b1b5-4e8e-b110-23fa22750526/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/fdf70a64-b1b5-4e8e-b110-23fa22750526/states", "rel": "self"}, {"href": "http://localhost/nodes/fdf70a64-b1b5-4e8e-b110-23fa22750526/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/fdf70a64-b1b5-4e8e-b110-23fa22750526/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/fdf70a64-b1b5-4e8e-b110-23fa22750526/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/fdf70a64-b1b5-4e8e-b110-23fa22750526/volume", "rel": "self"}, {"href": "http://localhost/nodes/fdf70a64-b1b5-4e8e-b110-23fa22750526/volume", "rel": "bookmark"}]}
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_runbook_set_owner_public_system_scope_fails [0.067032s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/runbooks WITH {'name': 'CUSTOM_UNIQUE1', 'uuid': 'b7aad2f2-160c-4ac8-a817-4900f14e80e6', '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/b7aad2f2-160c-4ac8-a817-4900f14e80e6
Openstack-Request-Id: req-2f956d4a-9281-469f-a2ad-561bd937a03b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "b7aad2f2-160c-4ac8-a817-4900f14e80e6", "created_at": "2025-05-30T17:26:45.883515+00:00", "updated_at": null, "name": "CUSTOM_UNIQUE1", "extra": {}, "public": true, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/b7aad2f2-160c-4ac8-a817-4900f14e80e6", "rel": "self"}, {"href": "http://localhost/runbooks/b7aad2f2-160c-4ac8-a817-4900f14e80e6", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
PATCH /v1/runbooks/b7aad2f2-160c-4ac8-a817-4900f14e80e6 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-1b69b8f0-128b-4d18-8448-f7ec116554b4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}"}
{0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy_forbidden [0.047575s] ... ok
{0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy_forbidden_no_project [0.035217s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired [0.143149s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/2f0eec1d-2efd-4b19-88cc-462545ccedd3 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-2687f64b-378f-4022-b7c7-98f2d8e3a389
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.61
{"uuid": "2f0eec1d-2efd-4b19-88cc-462545ccedd3", "created_at": "2025-05-30T17:26:45.901925+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/2f0eec1d-2efd-4b19-88cc-462545ccedd3", "rel": "self"}, {"href": "http://localhost/nodes/2f0eec1d-2efd-4b19-88cc-462545ccedd3", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/2f0eec1d-2efd-4b19-88cc-462545ccedd3/ports", "rel": "self"}, {"href": "http://localhost/nodes/2f0eec1d-2efd-4b19-88cc-462545ccedd3/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/2f0eec1d-2efd-4b19-88cc-462545ccedd3/states", "rel": "self"}, {"href": "http://localhost/nodes/2f0eec1d-2efd-4b19-88cc-462545ccedd3/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/2f0eec1d-2efd-4b19-88cc-462545ccedd3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/2f0eec1d-2efd-4b19-88cc-462545ccedd3/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/2f0eec1d-2efd-4b19-88cc-462545ccedd3/volume", "rel": "self"}, {"href": "http://localhost/nodes/2f0eec1d-2efd-4b19-88cc-462545ccedd3/volume", "rel": "bookmark"}]}
GET /v1/nodes/51cb23dd-8934-431e-a4e5-1dd6d522df2a WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-d145191c-bebf-4610-bc26-3e661f74b5dd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.61
{"uuid": "51cb23dd-8934-431e-a4e5-1dd6d522df2a", "created_at": "2025-05-30T17:26:45.937090+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/51cb23dd-8934-431e-a4e5-1dd6d522df2a", "rel": "self"}, {"href": "http://localhost/nodes/51cb23dd-8934-431e-a4e5-1dd6d522df2a", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/51cb23dd-8934-431e-a4e5-1dd6d522df2a/ports", "rel": "self"}, {"href": "http://localhost/nodes/51cb23dd-8934-431e-a4e5-1dd6d522df2a/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/51cb23dd-8934-431e-a4e5-1dd6d522df2a/states", "rel": "self"}, {"href": "http://localhost/nodes/51cb23dd-8934-431e-a4e5-1dd6d522df2a/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/51cb23dd-8934-431e-a4e5-1dd6d522df2a/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/51cb23dd-8934-431e-a4e5-1dd6d522df2a/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/51cb23dd-8934-431e-a4e5-1dd6d522df2a/volume", "rel": "self"}, {"href": "http://localhost/nodes/51cb23dd-8934-431e-a4e5-1dd6d522df2a/volume", "rel": "bookmark"}]}
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_set_new_owner_for_project_owned_runbook [0.081656s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/runbooks WITH {'name': 'CUSTOM_UNIQUE1', 'uuid': '154696e2-7874-400f-a497-d8ce92c3e76e', '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/154696e2-7874-400f-a497-d8ce92c3e76e
Openstack-Request-Id: req-f3cb9979-5c04-4832-b811-c9a5a921e321
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "154696e2-7874-400f-a497-d8ce92c3e76e", "created_at": "2025-05-30T17:26:45.937348+00:00", "updated_at": null, "name": "CUSTOM_UNIQUE1", "extra": {}, "public": false, "owner": "projectX", "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/154696e2-7874-400f-a497-d8ce92c3e76e", "rel": "self"}, {"href": "http://localhost/runbooks/154696e2-7874-400f-a497-d8ce92c3e76e", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
PATCH /v1/runbooks/154696e2-7874-400f-a497-d8ce92c3e76e WITH [{'path': '/owner', 'value': 'projectY', 'op': 'replace'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-e6a24fde-9a8f-4491-8e04-182a07df6aec
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "154696e2-7874-400f-a497-d8ce92c3e76e", "created_at": "2025-05-30T17:26:45.937348+00:00", "updated_at": null, "name": "CUSTOM_UNIQUE1", "extra": {}, "public": false, "owner": "projectY", "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/154696e2-7874-400f-a497-d8ce92c3e76e", "rel": "self"}, {"href": "http://localhost/runbooks/154696e2-7874-400f-a497-d8ce92c3e76e", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_storage_interface_old_api [0.108555s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/c10bd0b7-72ac-4e73-937d-a073bcbd9a8a WITH [{'path': '/storage_interface', 'value': 'cinder', 'op': 'add'}] GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-5d12a1dc-4c0f-4c88-b0ce-8928c434cff9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_utils.TestCheckPortListPolicy.test_check_port_list_policy_non_admin [0.042490s] ... ok
{0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_check_policy [0.042257s] ... ok
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_set_owner_system_scope [0.101303s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/runbooks WITH {'name': 'CUSTOM_UNIQUE1', 'uuid': '596761a3-e708-4eda-a6d0-8bfc21c45312', '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/596761a3-e708-4eda-a6d0-8bfc21c45312
Openstack-Request-Id: req-5498dc1e-06b6-499d-bb5b-19feaf51ca6e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "596761a3-e708-4eda-a6d0-8bfc21c45312", "created_at": "2025-05-30T17:26:46.033371+00:00", "updated_at": null, "name": "CUSTOM_UNIQUE1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/596761a3-e708-4eda-a6d0-8bfc21c45312", "rel": "self"}, {"href": "http://localhost/runbooks/596761a3-e708-4eda-a6d0-8bfc21c45312", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
PATCH /v1/runbooks/596761a3-e708-4eda-a6d0-8bfc21c45312 WITH [{'path': '/owner', 'value': 'projectX', 'op': 'replace'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-a52cd01a-223a-44d9-8095-bc41d28abdf7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "596761a3-e708-4eda-a6d0-8bfc21c45312", "created_at": "2025-05-30T17:26:46.033371+00:00", "updated_at": null, "name": "CUSTOM_UNIQUE1", "extra": {}, "public": false, "owner": "projectX", "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/596761a3-e708-4eda-a6d0-8bfc21c45312", "rel": "self"}, {"href": "http://localhost/runbooks/596761a3-e708-4eda-a6d0-8bfc21c45312", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired_hidden_in_lower_version [0.099335s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-5974fe26-d191-4f89-b0e0-de2c4148fcb0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:46.029691+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-2aa1d341-f465-4d3c-8606-f6372ef76c37
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:46.029691+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"}]}
{0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_check_policy_forbidden [0.045134s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_traits [0.123696s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/d201b985-71e1-4367-a9c9-d6ec6fcdb952 WITH [{'path': '/traits', 'value': ['CUSTOM_1'], 'op': 'add'}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-5a035b1f-ee67-4f96-b835-2a0401d839ef
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}"}
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_set_owner_system_scope_fails_if_public [0.070029s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/runbooks WITH {'name': 'CUSTOM_UNIQUE1', 'uuid': '6d5fe327-d75a-4643-80b0-a1bec6d2d9e5', '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/6d5fe327-d75a-4643-80b0-a1bec6d2d9e5
Openstack-Request-Id: req-d9ce06b8-319d-4d89-8dab-eb5508a60aad
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6d5fe327-d75a-4643-80b0-a1bec6d2d9e5", "created_at": "2025-05-30T17:26:46.136938+00:00", "updated_at": null, "name": "CUSTOM_UNIQUE1", "extra": {}, "public": true, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/6d5fe327-d75a-4643-80b0-a1bec6d2d9e5", "rel": "self"}, {"href": "http://localhost/runbooks/6d5fe327-d75a-4643-80b0-a1bec6d2d9e5", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
PATCH /v1/runbooks/6d5fe327-d75a-4643-80b0-a1bec6d2d9e5 WITH [{'path': '/owner', 'value': 'projectX', 'op': 'replace'}] GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-6bd754b9-ff15-4ae2-90ab-aa8bb044abaa
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}"}
{0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_driver_vendor_passthru_async [0.060608s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired_reason_hidden_in_lower_version [0.112540s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-47392c64-3961-4117-98b5-1c4588edabb9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:46.146032+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-16300634-15e3-4f15-84d2-3475748f7e18
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:46.146032+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_runbook.TestPatch.test_set_project_owned_runbook_public [0.068222s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/runbooks WITH {'name': 'CUSTOM_UNIQUE1', 'uuid': 'adf20118-fe9f-48c0-85a4-e2c5970f5014', '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/adf20118-fe9f-48c0-85a4-e2c5970f5014
Openstack-Request-Id: req-e43fc29e-22db-46c5-acc0-ae305c0a66dd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "adf20118-fe9f-48c0-85a4-e2c5970f5014", "created_at": "2025-05-30T17:26:46.193337+00:00", "updated_at": null, "name": "CUSTOM_UNIQUE1", "extra": {}, "public": false, "owner": "projectX", "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/adf20118-fe9f-48c0-85a4-e2c5970f5014", "rel": "self"}, {"href": "http://localhost/runbooks/adf20118-fe9f-48c0-85a4-e2c5970f5014", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
PATCH /v1/runbooks/adf20118-fe9f-48c0-85a4-e2c5970f5014 WITH [{'path': '/public', 'value': True, 'op': 'replace'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-e57b9def-b7bb-4fc9-ba35-8907679c0a15
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "adf20118-fe9f-48c0-85a4-e2c5970f5014", "created_at": "2025-05-30T17:26:46.193337+00:00", "updated_at": null, "name": "CUSTOM_UNIQUE1", "extra": {}, "public": true, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/adf20118-fe9f-48c0-85a4-e2c5970f5014", "rel": "self"}, {"href": "http://localhost/runbooks/adf20118-fe9f-48c0-85a4-e2c5970f5014", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
{0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_driver_vendor_passthru_sync [0.077803s] ... ok
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_set_public_system_scope [0.056708s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/ce8f2ebf-340c-46f8-abcb-d840082b7779 WITH [{'path': '/public', 'value': True, 'op': 'replace'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-bb4e84e8-ac64-492a-be1c-618af87c8fc7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "ce8f2ebf-340c-46f8-abcb-d840082b7779", "created_at": "2025-05-30T17:26:46.251392+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": true, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/ce8f2ebf-340c-46f8-abcb-d840082b7779", "rel": "self"}, {"href": "http://localhost/runbooks/ce8f2ebf-340c-46f8-abcb-d840082b7779", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
{0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_get_controller_reserved_names [0.053310s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired_with_reason [0.103079s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-46c07c09-67ce-47aa-8702-85b4abc8a580
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:46.262748+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"}]}
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_unset_public_system_scope [0.066816s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/runbooks WITH {'name': 'CUSTOM_UNIQUE2', 'uuid': '754518f0-44b7-4f5c-ac7d-b0c16773edb5', '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/754518f0-44b7-4f5c-ac7d-b0c16773edb5
Openstack-Request-Id: req-6a91278b-be65-44a2-861a-3ace0d3f4d67
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "754518f0-44b7-4f5c-ac7d-b0c16773edb5", "created_at": "2025-05-30T17:26:46.318043+00:00", "updated_at": null, "name": "CUSTOM_UNIQUE2", "extra": {}, "public": true, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/754518f0-44b7-4f5c-ac7d-b0c16773edb5", "rel": "self"}, {"href": "http://localhost/runbooks/754518f0-44b7-4f5c-ac7d-b0c16773edb5", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
PATCH /v1/runbooks/754518f0-44b7-4f5c-ac7d-b0c16773edb5 WITH [{'path': '/public', 'value': False, 'op': 'replace'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-f1d710a4-b17c-446b-b42b-4d33b7950242
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "754518f0-44b7-4f5c-ac7d-b0c16773edb5", "created_at": "2025-05-30T17:26:46.318043+00:00", "updated_at": null, "name": "CUSTOM_UNIQUE2", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/754518f0-44b7-4f5c-ac7d-b0c16773edb5", "rel": "self"}, {"href": "http://localhost/runbooks/754518f0-44b7-4f5c-ac7d-b0c16773edb5", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
{0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_method_not_specified [0.052768s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_with_reset_interfaces [0.280292s] ... 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-340e0455-79e6-4494-a959-713da95b8ca8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:46.195968+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"}]}
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_update_by_id [0.056930s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/8dc661e9-ec64-4857-ae87-93688be1c728 WITH [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-1c4ed334-cad9-4304-9bca-0b22f9d46f13
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "8dc661e9-ec64-4857-ae87-93688be1c728", "created_at": "2025-05-30T17:26:46.374263+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/8dc661e9-ec64-4857-ae87-93688be1c728", "rel": "self"}, {"href": "http://localhost/runbooks/8dc661e9-ec64-4857-ae87-93688be1c728", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
{0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_async [0.042652s] ... ok
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_update_by_id_invalid_api_version [0.050406s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/8396d8fb-540b-4405-82e3-887ecced3c2a 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.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach [0.046735s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_byaddress [0.085173s] ... 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-52d3ea72-86e2-413a-93e8-9dcbe6683afb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_secure_boot [0.184754s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/dfbf9341-2ac4-468a-8105-eec1f128f7d7 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-452faa32-0daf-40de-a1e6-b76b97afd33a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.75
{"uuid": "dfbf9341-2ac4-468a-8105-eec1f128f7d7", "created_at": "2025-05-30T17:26:46.406532+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/dfbf9341-2ac4-468a-8105-eec1f128f7d7", "rel": "self"}, {"href": "http://localhost/nodes/dfbf9341-2ac4-468a-8105-eec1f128f7d7", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/dfbf9341-2ac4-468a-8105-eec1f128f7d7/ports", "rel": "self"}, {"href": "http://localhost/nodes/dfbf9341-2ac4-468a-8105-eec1f128f7d7/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/dfbf9341-2ac4-468a-8105-eec1f128f7d7/states", "rel": "self"}, {"href": "http://localhost/nodes/dfbf9341-2ac4-468a-8105-eec1f128f7d7/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/dfbf9341-2ac4-468a-8105-eec1f128f7d7/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/dfbf9341-2ac4-468a-8105-eec1f128f7d7/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/dfbf9341-2ac4-468a-8105-eec1f128f7d7/volume", "rel": "self"}, {"href": "http://localhost/nodes/dfbf9341-2ac4-468a-8105-eec1f128f7d7/volume", "rel": "bookmark"}]}
GET /v1/nodes/dd2a5356-ec55-4361-a281-a6b54cd9a9ce WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-f3761387-47aa-4b57-bb4c-ef7894b18934
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.75
{"uuid": "dd2a5356-ec55-4361-a281-a6b54cd9a9ce", "created_at": "2025-05-30T17:26:46.450852+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/dd2a5356-ec55-4361-a281-a6b54cd9a9ce", "rel": "self"}, {"href": "http://localhost/nodes/dd2a5356-ec55-4361-a281-a6b54cd9a9ce", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/dd2a5356-ec55-4361-a281-a6b54cd9a9ce/ports", "rel": "self"}, {"href": "http://localhost/nodes/dd2a5356-ec55-4361-a281-a6b54cd9a9ce/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/dd2a5356-ec55-4361-a281-a6b54cd9a9ce/states", "rel": "self"}, {"href": "http://localhost/nodes/dd2a5356-ec55-4361-a281-a6b54cd9a9ce/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/dd2a5356-ec55-4361-a281-a6b54cd9a9ce/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/dd2a5356-ec55-4361-a281-a6b54cd9a9ce/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/dd2a5356-ec55-4361-a281-a6b54cd9a9ce/volume", "rel": "self"}, {"href": "http://localhost/nodes/dd2a5356-ec55-4361-a281-a6b54cd9a9ce/volume", "rel": "bookmark"}]}
{0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach_byte_to_byte [0.047773s] ... ok
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_update_by_name [0.102478s] ... 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-b1eeb548-b561-4025-891e-90918395be77
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "587cf8f5-e6d1-47cd-9e49-73350db3ec49", "created_at": "2025-05-30T17:26:46.509769+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/587cf8f5-e6d1-47cd-9e49-73350db3ec49", "rel": "self"}, {"href": "http://localhost/runbooks/587cf8f5-e6d1-47cd-9e49-73350db3ec49", "rel": "bookmark"}], "steps": [{"interface": "bios", "step": "apply_configuration", "args": {"foo": "bar"}, "order": 1}]}
{0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach_unicode_to_byte [0.054393s] ... ok
{0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_sync [0.061662s] ... ok
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_update_by_name_old_api_version [0.074594s] ... 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.controllers.v1.test_node.TestListNodes.test_node_secure_boot_hidden_in_lower_version [0.154087s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-c25600fd-490d-468c-992d-db2a9321baa6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:46.584131+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-3b2af75e-4e18-4dbf-95df-b4014df1a3fb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:46.584131+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_versions.TestMaxVersionString.test_max_version_not_pinned [0.050590s] ... ok
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_update_name_standard_trait [0.075048s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/f6ba30ba-23eb-41cd-902d-ab1f3fd400a3 WITH [{'path': '/name', 'value': 'HW_CPU_X86_VMX', 'op': 'replace'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-39d95a06-c688-46cd-a386-42212202c7d9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "f6ba30ba-23eb-41cd-902d-ab1f3fd400a3", "created_at": "2025-05-30T17:26:46.682342+00:00", "updated_at": null, "name": "HW_CPU_X86_VMX", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/f6ba30ba-23eb-41cd-902d-ab1f3fd400a3", "rel": "self"}, {"href": "http://localhost/runbooks/f6ba30ba-23eb-41cd-902d-ab1f3fd400a3", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
{0} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_not_pinned_in_release_mappings [0.051449s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states [0.091540s] ... 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-7e32d053-24c7-4131-9c45-02fe57ea5080
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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"}
{0} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_pinned [0.049245s] ... ok
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_update_not_found [0.074620s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/f9931955-a46d-45ac-9445-ee69d1a9513b WITH [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-6c292d6a-a056-4863-9236-e4ef3f76096e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Runbook f9931955-a46d-45ac-9445-ee69d1a9513b could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_duplicates [0.054691s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_boot_mode [0.099306s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/b202fe59-d7b3-4547-9630-5c5001a62ecc/states WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-6fdde7e3-9931-4210-b562-b965cadc161d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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/6be3fad8-a685-40b5-87e6-c8bfab14cb87/states WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-0f083f1c-8707-40db-86d4-48cf0283e1bc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}
{0} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_max_ver_str [0.054456s] ... ok
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_update_project_scope [0.103683s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/0a25b0a4-a6c1-489b-a50f-324d6cbb4161 WITH [{'path': '/name', 'value': 'CUSTOM_NAME', 'op': 'replace'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-0aa33e82-721f-4973-b223-bb2bedfa9e18
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "0a25b0a4-a6c1-489b-a50f-324d6cbb4161", "created_at": "2025-05-30T17:26:46.844232+00:00", "updated_at": null, "name": "CUSTOM_NAME", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/0a25b0a4-a6c1-489b-a50f-324d6cbb4161", "rel": "self"}, {"href": "http://localhost/runbooks/0a25b0a4-a6c1-489b-a50f-324d6cbb4161", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_boot_mode_hidden_in_lower_version [0.086516s] ... 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-3f27aa73-9ff2-4d55-8e0f-36079e5277fa
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-1bf68a20-f267-4bcf-953f-3d1d6c24247c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_versions.TestVersionConstants.test_min_ver_str [0.069128s] ... ok
{2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_update_system_scope [0.107968s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/21a8803c-cabd-4c10-9e36-fb00d5b437b8 WITH [{'path': '/name', 'value': 'CUSTOM_NAME', 'op': 'replace'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-50ef4bfc-e79e-4475-954b-106aac43f7aa
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "21a8803c-cabd-4c10-9e36-fb00d5b437b8", "created_at": "2025-05-30T17:26:46.944397+00:00", "updated_at": null, "name": "CUSTOM_NAME", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/21a8803c-cabd-4c10-9e36-fb00d5b437b8", "rel": "self"}, {"href": "http://localhost/runbooks/21a8803c-cabd-4c10-9e36-fb00d5b437b8", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
{3} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_byid [0.542284s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 204 No Content
Openstack-Request-Id: req-fc045296-9ed8-4722-850d-08ed5006a7ad
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{0} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_name_value_match [0.049461s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_by_name [0.082913s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/eggs/states WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-2f120313-899d-4d35-8f75-8c783f10cc6f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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"}
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch [0.044624s] ... ok
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_no_add_root_attr [0.041400s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_field_hidden_in_lower_version [0.095504s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-a6f73901-1dc5-4f05-a2a0-d3d9e9b85b9b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:47.083766+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-52f0c5b2-0641-4bb6-aeda-1bce7259fe17
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:47.083766+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"}]}
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_remove_non_existent [0.049568s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_node_locked [0.123759s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 409 Conflict
Content-Type: application/json
Openstack-Request-Id: req-ba0f0f5d-a930-417e-b8ed-5361881bea5b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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(
{0} ironic.tests.unit.api.controllers.v1.test_volume.TestGetVolume.test_get_volume [0.138326s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/ WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-44c258c7-6ca3-4e7b-99b9-ac81a0ca9bd5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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-4199c45c-ba04-4215-9b8b-4526fb4dc1ea
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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-06722e1c-e9f6-4104-820c-2d4cae7cf375
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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-f714c749-5a0e-4656-bcb9-cd4f02d3d7bb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"connectors": []}
GET /volume/connectors WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-4d1cf0b8-3927-41a7-b3a2-360776aed07c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"connectors": []}
GET /v1/volume/targets WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-98be8c5a-ab23-4958-9c6a-e23a05a88e25
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"targets": []}
GET /volume/targets WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-40b84943-cc94-4c06-9ef8-75cf18ae1082
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"targets": []}
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_replace_non_existent_list_item [0.046749s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_raid [0.090821s] ... 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-fa132ab5-f884-4e10-891a-ebe8b5ce375c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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"}}
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_with_escaped_complex_path [0.036936s] ... ok
{0} ironic.tests.unit.api.controllers.v1.test_volume.TestGetVolume.test_get_volume_invalid_api_version [0.076856s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/ WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-34c8ffcb-1658-4941-b232-ed415548a5be
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_utils.TestApiUtils.test_apply_jsonpatch_with_escaped_slash [0.052810s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_portgroups_subresource_delete [0.172829s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/60c3d328-b626-47a7-ac98-3912479da326 GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-922263c8-d2e5-4bcd-ae8b-299b855bfcc8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_utils.TestApiUtils.test_apply_jsonpatch_with_escaped_tilde [0.052265s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_secure_boot [0.118053s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/8812d630-9d81-4e8b-af12-6574893464ed/states WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-a3959253-0d7f-4faf-9e07-f4ff67140f2d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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/7713c0fc-5bd0-4be0-9a87-1aad5abcb31d/states WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-f0230c46-074c-4440-a8bb-00c691b87998
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_with_incomplete_escape [0.047323s] ... ok
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_with_invalid_escape_sequence [0.043725s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_secure_boot_hidden_in_lower_version [0.094802s] ... 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-803362fe-ffb7-40ab-9440-887e14bc308c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-1c868446-62b7-42f0-bbdf-1eeb0b841844
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.TestListVolumeConnectors.test_collection_links [0.206959s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors/?limit=3 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-0ef6b1dd-53ea-4351-bba9-b886ba3af6b5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"connectors": [{"uuid": "e51d30d2-52b9-4556-9231-4a017967388b", "connector_id": "test-connector_id-0", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/e51d30d2-52b9-4556-9231-4a017967388b", "rel": "self"}, {"href": "http://localhost/volume/connectors/e51d30d2-52b9-4556-9231-4a017967388b", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "0a32850c-1ed6-494c-92e7-38ab560b80af", "connector_id": "test-connector_id-1", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/0a32850c-1ed6-494c-92e7-38ab560b80af", "rel": "self"}, {"href": "http://localhost/volume/connectors/0a32850c-1ed6-494c-92e7-38ab560b80af", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "02131e84-16c3-4ca0-83aa-f51a173bf138", "connector_id": "test-connector_id-2", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/02131e84-16c3-4ca0-83aa-f51a173bf138", "rel": "self"}, {"href": "http://localhost/volume/connectors/02131e84-16c3-4ca0-83aa-f51a173bf138", "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=02131e84-16c3-4ca0-83aa-f51a173bf138"}
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_with_slash [0.043359s] ... ok
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_with_tilde [0.043930s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_storage_interface_hidden_in_lower_version [0.110891s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-6e08fdf6-930e-4426-8238-3958e887df62
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:47.489355+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-ab8e97c9-7504-43d0-b973-9a23909ad1fb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:47.489355+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"}]}
{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_custom_fields [0.089267s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors?fields=uuid,extra WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-d4e36b5e-cc17-462b-92b9-0d8499398bdf
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"connectors": [{"uuid": "c9b0034e-d23f-4390-89ca-5ecc43b0392c", "extra": {}, "links": [{"href": "http://localhost/v1/volume/connectors/c9b0034e-d23f-4390-89ca-5ecc43b0392c", "rel": "self"}, {"href": "http://localhost/volume/connectors/c9b0034e-d23f-4390-89ca-5ecc43b0392c", "rel": "bookmark"}]}, {"uuid": "d18cebd6-53ec-4e34-8440-dbff20431716", "extra": {}, "links": [{"href": "http://localhost/v1/volume/connectors/d18cebd6-53ec-4e34-8440-dbff20431716", "rel": "self"}, {"href": "http://localhost/volume/connectors/d18cebd6-53ec-4e34-8440-dbff20431716", "rel": "bookmark"}]}, {"uuid": "6ea4ab2a-3b9c-4e9e-8437-96bfa9fb55c3", "extra": {}, "links": [{"href": "http://localhost/v1/volume/connectors/6ea4ab2a-3b9c-4e9e-8437-96bfa9fb55c3", "rel": "self"}, {"href": "http://localhost/volume/connectors/6ea4ab2a-3b9c-4e9e-8437-96bfa9fb55c3", "rel": "bookmark"}]}], "next": "http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=6ea4ab2a-3b9c-4e9e-8437-96bfa9fb55c3"}
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links [0.223028s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports/?limit=3 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-c9a8e4d1-513b-4862-94ab-4197da795c88
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"ports": [{"uuid": "044fcd11-3c37-4bfe-b415-a692cfe8a720", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/044fcd11-3c37-4bfe-b415-a692cfe8a720", "rel": "self"}, {"href": "http://localhost/ports/044fcd11-3c37-4bfe-b415-a692cfe8a720", "rel": "bookmark"}]}, {"uuid": "64212182-646e-447e-8e09-1d3685bb5956", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/64212182-646e-447e-8e09-1d3685bb5956", "rel": "self"}, {"href": "http://localhost/ports/64212182-646e-447e-8e09-1d3685bb5956", "rel": "bookmark"}]}, {"uuid": "ca6ef5cc-5fc0-4fba-b1d0-b36413ad161d", "address": "52:54:00:cf:2d:32", "links": [{"href": "http://localhost/v1/ports/ca6ef5cc-5fc0-4fba-b1d0-b36413ad161d", "rel": "self"}, {"href": "http://localhost/ports/ca6ef5cc-5fc0-4fba-b1d0-b36413ad161d", "rel": "bookmark"}]}], "next": "http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=3&marker=ca6ef5cc-5fc0-4fba-b1d0-b36413ad161d"}
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_for_invalid_fields [0.053543s] ... ok
{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_default_limit [0.060036s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-75306a25-c73d-45a7-aebf-7f79b3117625
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"connectors": [{"uuid": "9a86a90a-db9a-4842-855f-76e41d4a43a1", "connector_id": "test-connector_id-0", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/9a86a90a-db9a-4842-855f-76e41d4a43a1", "rel": "self"}, {"href": "http://localhost/volume/connectors/9a86a90a-db9a-4842-855f-76e41d4a43a1", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "c755e5b8-6a91-4c5a-811f-c88ce718b944", "connector_id": "test-connector_id-1", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/c755e5b8-6a91-4c5a-811f-c88ce718b944", "rel": "self"}, {"href": "http://localhost/volume/connectors/c755e5b8-6a91-4c5a-811f-c88ce718b944", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "800dc204-f9a3-4db0-81ed-46a04e189454", "connector_id": "test-connector_id-2", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/800dc204-f9a3-4db0-81ed-46a04e189454", "rel": "self"}, {"href": "http://localhost/volume/connectors/800dc204-f9a3-4db0-81ed-46a04e189454", "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=800dc204-f9a3-4db0-81ed-46a04e189454"}
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_for_invalid_fields_fail [0.043600s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_traits_hidden_in_lower_version [0.096531s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-9816195d-f4ce-467a-b542-789134f8b8b9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:47.598743+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-bed0bccb-c9c6-41e6-aa99-015ae59191f9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:47.598743+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"}]}
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_multiple_success [0.045600s] ... ok
{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_detail [0.059455s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors?detail=True&limit=3 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-cbd3d2e5-4c5e-4ce6-931a-4614b534791d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"connectors": [{"uuid": "f9b0a832-e15a-4d2d-8576-2d6f27122071", "created_at": "2025-05-30T17:26:47.638248+00:00", "updated_at": null, "connector_id": "test-connector_id-0", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/f9b0a832-e15a-4d2d-8576-2d6f27122071", "rel": "self"}, {"href": "http://localhost/volume/connectors/f9b0a832-e15a-4d2d-8576-2d6f27122071", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "fb8410f5-4f3d-4aa6-b307-4f239f4a8f99", "created_at": "2025-05-30T17:26:47.639008+00:00", "updated_at": null, "connector_id": "test-connector_id-1", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/fb8410f5-4f3d-4aa6-b307-4f239f4a8f99", "rel": "self"}, {"href": "http://localhost/volume/connectors/fb8410f5-4f3d-4aa6-b307-4f239f4a8f99", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "6efc794c-d8b6-4ae1-9006-90bef6d9d3e3", "created_at": "2025-05-30T17:26:47.639787+00:00", "updated_at": null, "connector_id": "test-connector_id-2", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/6efc794c-d8b6-4ae1-9006-90bef6d9d3e3", "rel": "self"}, {"href": "http://localhost/volume/connectors/6efc794c-d8b6-4ae1-9006-90bef6d9d3e3", "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=6efc794c-d8b6-4ae1-9006-90bef6d9d3e3"}
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links_custom_fields [0.126610s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports?fields=address,uuid WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-fdc25a99-91dc-4e2b-b57c-6f3e72b5227f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": [{"uuid": "0d0d994f-d6c1-4ccd-8d25-2b1f301411c4", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/0d0d994f-d6c1-4ccd-8d25-2b1f301411c4", "rel": "self"}, {"href": "http://localhost/ports/0d0d994f-d6c1-4ccd-8d25-2b1f301411c4", "rel": "bookmark"}]}, {"uuid": "a25c48a2-5d2f-4f6e-8bfc-3319bbccc67a", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/a25c48a2-5d2f-4f6e-8bfc-3319bbccc67a", "rel": "self"}, {"href": "http://localhost/ports/a25c48a2-5d2f-4f6e-8bfc-3319bbccc67a", "rel": "bookmark"}]}, {"uuid": "b4caa329-bf73-4ce6-b65e-4c83eef7acb6", "address": "52:54:00:cf:2d:32", "links": [{"href": "http://localhost/v1/ports/b4caa329-bf73-4ce6-b65e-4c83eef7acb6", "rel": "self"}, {"href": "http://localhost/ports/b4caa329-bf73-4ce6-b65e-4c83eef7acb6", "rel": "bookmark"}]}], "next": "http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=address,uuid&limit=3&marker=b4caa329-bf73-4ce6-b65e-4c83eef7acb6"}
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_no_path [0.080417s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_one [0.132650s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-6b4f093a-bfbd-4b86-a02d-eac5476fa62a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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"}]}]}
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_remove [0.054877s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links_default_limit [0.134623s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-ab2b8473-b9fa-4e7e-8abd-e6854898a8ea
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"ports": [{"uuid": "c0c48e4e-86a9-4caa-a98e-24cdc12c42b2", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/c0c48e4e-86a9-4caa-a98e-24cdc12c42b2", "rel": "self"}, {"href": "http://localhost/ports/c0c48e4e-86a9-4caa-a98e-24cdc12c42b2", "rel": "bookmark"}]}, {"uuid": "178776de-2a60-4cee-968a-54e9d56cb460", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/178776de-2a60-4cee-968a-54e9d56cb460", "rel": "self"}, {"href": "http://localhost/ports/178776de-2a60-4cee-968a-54e9d56cb460", "rel": "bookmark"}]}, {"uuid": "17d5ace3-cc16-4c6a-8a48-ecc845df900c", "address": "52:54:00:cf:2d:32", "links": [{"href": "http://localhost/v1/ports/17d5ace3-cc16-4c6a-8a48-ecc845df900c", "rel": "self"}, {"href": "http://localhost/ports/17d5ace3-cc16-4c6a-8a48-ecc845df900c", "rel": "bookmark"}]}], "next": "http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=3&marker=17d5ace3-cc16-4c6a-8a48-ecc845df900c"}
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_success [0.072776s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_one_field_specific_santization [0.122479s] ... 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-ad7ab348-cf17-45a4-be09-9722ff1a9ff0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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"}]}]}
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_replace [0.065811s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail [0.106558s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports/detail WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-8101a5c4-e7d4-4c94-a1f5-39f7cf27d550
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:26:47.907956+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"}]}
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_similar_subpath [0.045771s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_against_single [0.076719s] ... 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-6ccf3806-d0bc-4f4e-aa6d-aef71203dd24
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_utils.TestApiUtils.test_is_path_removed_subpath_success [0.043130s] ... ok
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_success [0.042313s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource [0.166363s] ... 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-6ea6bff0-097d-4f89-bb0b-63beca0c7ab0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.24
{"portgroups": [{"uuid": "f7e29fd6-f78b-45fd-8b10-58e5b97fde64", "address": "52:54:00:cf:2d:30", "name": "pg-0", "links": [{"href": "http://localhost/v1/portgroups/f7e29fd6-f78b-45fd-8b10-58e5b97fde64", "rel": "self"}, {"href": "http://localhost/portgroups/f7e29fd6-f78b-45fd-8b10-58e5b97fde64", "rel": "bookmark"}]}, {"uuid": "67e5b3d8-3355-4e75-96e6-1e31f3f5fe4b", "address": "52:54:00:cf:2d:31", "name": "pg-1", "links": [{"href": "http://localhost/v1/portgroups/67e5b3d8-3355-4e75-96e6-1e31f3f5fe4b", "rel": "self"}, {"href": "http://localhost/portgroups/67e5b3d8-3355-4e75-96e6-1e31f3f5fe4b", "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-01717634-e853-46f5-be46-3cf2d3c69092
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.24
{"portgroups": [{"uuid": "f7e29fd6-f78b-45fd-8b10-58e5b97fde64", "address": "52:54:00:cf:2d:30", "name": "pg-0", "links": [{"href": "http://localhost/v1/portgroups/f7e29fd6-f78b-45fd-8b10-58e5b97fde64", "rel": "self"}, {"href": "http://localhost/portgroups/f7e29fd6-f78b-45fd-8b10-58e5b97fde64", "rel": "bookmark"}]}], "next": "http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=1&marker=f7e29fd6-f78b-45fd-8b10-58e5b97fde64"}
{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail [0.418326s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors?detail=True WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-6e480de9-c0b7-48bf-a043-c8810c087c10
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:26:48.062216+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_port.TestListPorts.test_detail_by_node_name_not_supported [0.088577s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports/detail?node=test-node WITH {} GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-73b9de48-7ee6-407f-9ff5-592a3d465bd7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_utils.TestApiUtils.test_is_path_updated_similar_subpath [0.047994s] ... ok
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_subpath_success [0.040918s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_link [0.092907s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-fca86050-7efb-4b4a-a037-df5965a73283
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:48.143710+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_detail_against_single [0.077142s] ... 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-91bff43d-9742-4efc-9e7b-3933c68cb38c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: detail\", \"debuginfo\": null}"}
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_success [0.041045s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_by_node_name_ok [0.121271s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports/detail?node=test-node WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-22b7f4c5-befe-4638-99a1-603f7c9d0240
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:48.196594+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_portgroups_subresource_link_hidden_for_older_versions [0.082000s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-bf297161-6d50-4a2d-a0f7-4650d0024c44
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:48.223458+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"}]}
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_patch_update_changed_fields [0.047257s] ... ok
{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_and_fields [0.086722s] ... 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-6c5607c4-90cf-4012-965d-7954e63d380a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: detail\", \"debuginfo\": null}"}
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_patch_validate_allowed_fields [0.046675s] ... ok
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_patch_validate_allowed_special_fields [0.042744s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_query [0.134820s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports?detail=True WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-bb55d245-d4fc-4c42-8dee-fd72fc032413
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:26:48.334996+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"}]}
{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_by_node_name_ok [0.119241s] ... 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-7e1db679-ca52-4525-abbf-f91825d30eb0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:26:48.363528+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_utils.TestApiUtils.test_patched_validate_with_schema [0.060983s] ... ok
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_sanitize_dict [0.047607s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_query_false [0.099525s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-19ff2889-5fa9-4223-b342-688d6fa5d693
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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-9f242f88-2c7b-42d6-bc1e-0610de44a69d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_false [0.083832s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors?detail=False WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-3a4b529b-220c-4f12-8c64-b72d22f17983
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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"}]}
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_limit [0.045109s] ... ok
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_sort_dir [0.047463s] ... ok
{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_invalid_api_version [0.066110s] ... 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\": \"\"}"}
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_sort_key_allowed [0.116280s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports/detail?sort_key=pxe_enabled WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-a43e8264-b85d-4f96-ae05-c47568304826
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": [{"uuid": "ecf8abda-744e-4adb-adf0-199132389524", "created_at": "2025-05-30T17:26:48.543448+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/ecf8abda-744e-4adb-adf0-199132389524", "rel": "self"}, {"href": "http://localhost/ports/ecf8abda-744e-4adb-adf0-199132389524", "rel": "bookmark"}], "portgroup_uuid": null}, {"uuid": "e6a5d770-710b-4a09-a655-79b5ea28d2d7", "created_at": "2025-05-30T17:26:48.547396+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/e6a5d770-710b-4a09-a655-79b5ea28d2d7", "rel": "self"}, {"href": "http://localhost/ports/e6a5d770-710b-4a09-a655-79b5ea28d2d7", "rel": "bookmark"}], "portgroup_uuid": null}]}
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy [0.050787s] ... ok
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_forbidden [0.030368s] ... ok
{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_sepecified_by_path [0.071823s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors/detail WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-91217782-59fe-458f-969d-2ede6209470c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for connector_uuid: detail\", \"debuginfo\": null}"}
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_forbidden_no_project [0.023780s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_old_api_version [0.411893s] ... 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\": \"\"}"}
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_sort_key_not_allowed [0.070009s] ... 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-e08f285c-e115-43ef-897a-a0a97fd540f7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_utils.TestCheckListPolicy.test_check_list_policy_non_admin [0.052713s] ... ok
{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_empty [0.086396s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-15ed8766-0a17-4cbb-ac6e-29fb8502047d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"connectors": []}
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_non_admin_owner_proj_mismatch [0.032835s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_and_fields [0.078022s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports?detail=True&fields=name WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-251b34be-a27b-4a0b-bd41-113ff94b5e49
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_utils.TestCheckListPolicy.test_check_list_policy_with_owner [0.024255s] ... ok
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_cant_set_only_logical [0.032834s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource [0.164576s] ... 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-d893c945-0a23-422d-9aa0-87431a763654
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"ports": [{"uuid": "e7545317-c25a-4057-bfd7-2eba0480ac70", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/e7545317-c25a-4057-bfd7-2eba0480ac70", "rel": "self"}, {"href": "http://localhost/ports/e7545317-c25a-4057-bfd7-2eba0480ac70", "rel": "bookmark"}]}, {"uuid": "ec9a8f1b-2b5d-4250-80e4-7edf7570e65e", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/ec9a8f1b-2b5d-4250-80e4-7edf7570e65e", "rel": "self"}, {"href": "http://localhost/ports/ec9a8f1b-2b5d-4250-80e4-7edf7570e65e", "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-4e5ae561-7123-4c8b-8b0f-a87edd6bbdd8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"ports": [{"uuid": "e7545317-c25a-4057-bfd7-2eba0480ac70", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/e7545317-c25a-4057-bfd7-2eba0480ac70", "rel": "self"}, {"href": "http://localhost/ports/e7545317-c25a-4057-bfd7-2eba0480ac70", "rel": "bookmark"}]}], "next": "http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=1&marker=e7545317-c25a-4057-bfd7-2eba0480ac70"}
{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_all_by_node_name_ok [0.125477s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors?node=test-node WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-9ef06ae1-86d2-48ec-8e02-f81af020c211
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"connectors": [{"uuid": "ed8a2616-2c14-4d38-a2d0-a321bdab833d", "connector_id": "test-value-0", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/ed8a2616-2c14-4d38-a2d0-a321bdab833d", "rel": "self"}, {"href": "http://localhost/volume/connectors/ed8a2616-2c14-4d38-a2d0-a321bdab833d", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "ce02a9c2-0c96-4b4a-a08d-3456a8b3fde3", "connector_id": "test-value-1", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/ce02a9c2-0c96-4b4a-a08d-3456a8b3fde3", "rel": "self"}, {"href": "http://localhost/volume/connectors/ce02a9c2-0c96-4b4a-a08d-3456a8b3fde3", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "3b0b11cb-1e76-4021-af30-dabd20e1aafc", "connector_id": "test-value-2", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/3b0b11cb-1e76-4021-af30-dabd20e1aafc", "rel": "self"}, {"href": "http://localhost/volume/connectors/3b0b11cb-1e76-4021-af30-dabd20e1aafc", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]}
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_cant_set_only_physical [0.064851s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_false_and_fields [0.101881s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports?detail=False&fields=internal_info WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-9a32872c-93dc-4643-b037-150d3882a2ec
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_node.TestListNodes.test_ports_subresource_invalid_ident [0.066587s] ... 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\"}"}
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_net_type_invalid [0.043256s] ... ok
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_net_type_unmanaged [0.031955s] ... ok
{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_collection_custom_fields [0.105692s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors?fields=uuid,extra WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-6325ee45-53a3-40bd-b17a-36a5fa8f9751
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"connectors": [{"uuid": "a1f3041e-30be-4740-b4da-e6ef2729ebf6", "extra": {}, "links": [{"href": "http://localhost/v1/volume/connectors/a1f3041e-30be-4740-b4da-e6ef2729ebf6", "rel": "self"}, {"href": "http://localhost/volume/connectors/a1f3041e-30be-4740-b4da-e6ef2729ebf6", "rel": "bookmark"}]}, {"uuid": "d3c689db-00e2-4566-9402-5d26abc8e2fb", "extra": {}, "links": [{"href": "http://localhost/v1/volume/connectors/d3c689db-00e2-4566-9402-5d26abc8e2fb", "rel": "self"}, {"href": "http://localhost/volume/connectors/d3c689db-00e2-4566-9402-5d26abc8e2fb", "rel": "bookmark"}]}, {"uuid": "f9b764b6-2b48-46bc-ba03-833117365e5a", "extra": {}, "links": [{"href": "http://localhost/v1/volume/connectors/f9b764b6-2b48-46bc-ba03-833117365e5a", "rel": "self"}, {"href": "http://localhost/volume/connectors/f9b764b6-2b48-46bc-ba03-833117365e5a", "rel": "bookmark"}]}]}
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_old_version [0.087257s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports?detail=True WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-50b6eb91-ed00-4d64-91d2-8647c581d372
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_net_type_unmanaged_combine_ok [0.047825s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_link [0.090337s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-1425a51c-b463-42b2-bf3f-b4afe622606b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:48.962576+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"}]}
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_set_both_switches [0.043888s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_with_incorrect_api_usage [0.071821s] ... 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-a95be786-58f8-4a5b-ac84-c48b8e34fcab
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"ports": []}
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type [0.031000s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_node_not_found [0.063777s] ... 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-20092c70-0e8e-4bb9-a3f8-5a92297031e6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.TestListVolumeConnectors.test_get_collection_pagination_no_uuid [0.121067s] ... 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-21e23ae1-eb62-45ef-9a47-141cdb14fcea
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"connectors": [{"connector_id": "test-connector_id-0", "links": [{"href": "http://localhost/v1/volume/connectors/1be9f4ed-9ca4-4e1e-addb-e8bff4915d0d", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be9f4ed-9ca4-4e1e-addb-e8bff4915d0d", "rel": "bookmark"}]}, {"connector_id": "test-connector_id-1", "links": [{"href": "http://localhost/v1/volume/connectors/0539ef79-de57-478d-a30f-0a99c4eadc63", "rel": "self"}, {"href": "http://localhost/volume/connectors/0539ef79-de57-478d-a30f-0a99c4eadc63", "rel": "bookmark"}]}], "next": "http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=connector_id&limit=2&marker=0539ef79-de57-478d-a30f-0a99c4eadc63"}
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_datapath_id [0.040810s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_empty [0.070577s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-26136483-8cc9-4ab5-b4e3-1b4e2bd5e125
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_ports_subresource_noid [0.079139s] ... 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.TestListVolumeConnectors.test_get_custom_fields_invalid_api_version [0.064142s] ... 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\": \"\"}"}
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_empty_value [0.042534s] ... ok
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_invalid_key [0.040878s] ... ok
{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_custom_fields_invalid_fields [0.086960s] ... 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-55a6bbb1-2aa6-4a7b-9ab2-72f2a0eb5709
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_non_admin [0.139392s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports?node=test-node WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-7da43055-bb3f-46b8-a630-ca448e6c6e53
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.5
{"ports": [{"uuid": "54587b91-2342-4c50-b8fe-bc0f3f1da0a8", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/54587b91-2342-4c50-b8fe-bc0f3f1da0a8", "rel": "self"}, {"href": "http://localhost/ports/54587b91-2342-4c50-b8fe-bc0f3f1da0a8", "rel": "bookmark"}]}, {"uuid": "9fdcc6c5-d0e0-48ba-b23f-d40738f3e4e9", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/9fdcc6c5-d0e0-48ba-b23f-d40738f3e4e9", "rel": "self"}, {"href": "http://localhost/ports/9fdcc6c5-d0e0-48ba-b23f-d40738f3e4e9", "rel": "bookmark"}]}, {"uuid": "95b6f338-3d17-448c-ab7e-527a77117969", "address": "52:54:00:cf:2d:32", "links": [{"href": "http://localhost/v1/ports/95b6f338-3d17-448c-ab7e-527a77117969", "rel": "self"}, {"href": "http://localhost/ports/95b6f338-3d17-448c-ab7e-527a77117969", "rel": "bookmark"}]}]}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_via_portgroups_subres_not_allowed [0.104694s] ... 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-9e3ef24e-882a-4d52-82d7-9f9ae1d3d48f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one [0.085974s] ... 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-c87aeed4-3ed9-47e7-8798-6879ce625be9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:26:49.291920+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"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key [0.103419s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?sort_key=uuid WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-4bb1b78e-0e50-439b-b9fe-255306ff9a27
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"nodes": [{"uuid": "32e29b7c-26b9-4aa6-aa9d-52575c590b45", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/32e29b7c-26b9-4aa6-aa9d-52575c590b45", "rel": "self"}, {"href": "http://localhost/nodes/32e29b7c-26b9-4aa6-aa9d-52575c590b45", "rel": "bookmark"}]}, {"uuid": "9898b047-8347-40c1-b175-79fc0d97bbd5", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/9898b047-8347-40c1-b175-79fc0d97bbd5", "rel": "self"}, {"href": "http://localhost/nodes/9898b047-8347-40c1-b175-79fc0d97bbd5", "rel": "bookmark"}]}, {"uuid": "f7bc54c1-4b38-4f08-af4b-d3b0658b82f5", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/f7bc54c1-4b38-4f08-af4b-d3b0658b82f5", "rel": "self"}, {"href": "http://localhost/nodes/f7bc54c1-4b38-4f08-af4b-d3b0658b82f5", "rel": "bookmark"}]}]}
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_non_admin_no_match [0.133363s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports?node=test-node WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-bf20bc4b-7212-4236-b48f-5f586c8a31cf
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.5
{"ports": []}
{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one_custom_fields [0.086913s] ... 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-93155e14-786b-44ee-8f08-c1c44fce28e1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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"}]}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_allowed [0.103292s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?sort_key=resource_class WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-bd26ec16-de6f-4de9-96ec-8810b0837789
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.21
{"nodes": [{"uuid": "1c238b42-cb95-4bbc-82f8-782f7c835439", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1c238b42-cb95-4bbc-82f8-782f7c835439", "rel": "self"}, {"href": "http://localhost/nodes/1c238b42-cb95-4bbc-82f8-782f7c835439", "rel": "bookmark"}]}, {"uuid": "7e1b215d-59c3-4e5e-8b23-e8c32a4be87e", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/7e1b215d-59c3-4e5e-8b23-e8c32a4be87e", "rel": "self"}, {"href": "http://localhost/nodes/7e1b215d-59c3-4e5e-8b23-e8c32a4be87e", "rel": "bookmark"}]}, {"uuid": "e8cbf04a-7ff9-4128-b519-791c22d7608e", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/e8cbf04a-7ff9-4128-b519-791c22d7608e", "rel": "self"}, {"href": "http://localhost/nodes/e8cbf04a-7ff9-4128-b519-791c22d7608e", "rel": "bookmark"}]}]}
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_local_link_keys_mandatory [0.282829s] ... ok
{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one_invalid_api_version [0.070169s] ... 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\": \"\"}"}
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_not_supported [0.093353s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports?node=test-node WITH {} GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-56af4c92-24e3-4186-bb4e-90e229f1ab31
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_utils.TestLocalLinkValidation.test_local_link_connection_type_missing_local_link_mandatory_key [0.055437s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_invalid [0.099264s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?sort_key=foo WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-f536c9b0-0c91-479e-ab9b-5f3eb37fb63e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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-4e2f8329-e461-4cdd-9554-45c15d00a9ff
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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-185446c4-83a1-40ed-8464-6d87f95b42bb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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-12d6801f-aee6-4d29-ab9a-acd5aab681f0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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-15ff99bb-e80a-41b1-b944-533b4ab2374a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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-e37e3ada-e444-4b67-a8ea-c8facce165ca
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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-d9f13322-9438-4309-aefe-f07b37c8d579
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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-25e25f10-e5ec-49fc-a1e9-fd0970e69cf7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value traits is an invalid field for sorting\", \"debuginfo\": null}"}
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_not_mac_or_datapath_id [0.075155s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_ok [0.141582s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports?node=test-node WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-005bdd42-d4ec-40cc-b7c7-19e816496da3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.5
{"ports": [{"uuid": "9ecdc31e-1340-4d32-a04f-611f1329f478", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/9ecdc31e-1340-4d32-a04f-611f1329f478", "rel": "self"}, {"href": "http://localhost/ports/9ecdc31e-1340-4d32-a04f-611f1329f478", "rel": "bookmark"}]}, {"uuid": "13fea053-b230-41b1-8049-b89e99000491", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/13fea053-b230-41b1-8049-b89e99000491", "rel": "self"}, {"href": "http://localhost/ports/13fea053-b230-41b1-8049-b89e99000491", "rel": "bookmark"}]}, {"uuid": "cc3142f8-14e9-4598-b294-bcfc3d37363e", "address": "52:54:00:cf:2d:32", "links": [{"href": "http://localhost/v1/ports/cc3142f8-14e9-4598-b294-bcfc3d37363e", "rel": "self"}, {"href": "http://localhost/ports/cc3142f8-14e9-4598-b294-bcfc3d37363e", "rel": "bookmark"}]}]}
{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_links [0.143634s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors/65769cb8-d430-456d-82a3-e0355fbd8fea WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-c09c3d4d-caf3-42c5-b8e2-5f77185276e4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "65769cb8-d430-456d-82a3-e0355fbd8fea", "created_at": "2025-05-30T17:26:49.542003+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/65769cb8-d430-456d-82a3-e0355fbd8fea", "rel": "self"}, {"href": "http://localhost/volume/connectors/65769cb8-d430-456d-82a3-e0355fbd8fea", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
GET /v1/volume/connectors/65769cb8-d430-456d-82a3-e0355fbd8fea WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-68d9ae45-e2bc-49f3-aeef-b8b20f4a18de
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "65769cb8-d430-456d-82a3-e0355fbd8fea", "created_at": "2025-05-30T17:26:49.542003+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/65769cb8-d430-456d-82a3-e0355fbd8fea", "rel": "self"}, {"href": "http://localhost/volume/connectors/65769cb8-d430-456d-82a3-e0355fbd8fea", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
GET /volume/connectors/65769cb8-d430-456d-82a3-e0355fbd8fea WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-953ff1c5-c8b8-4b88-9d9a-37ec86c7c4d5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "65769cb8-d430-456d-82a3-e0355fbd8fea", "created_at": "2025-05-30T17:26:49.542003+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/65769cb8-d430-456d-82a3-e0355fbd8fea", "rel": "self"}, {"href": "http://localhost/volume/connectors/65769cb8-d430-456d-82a3-e0355fbd8fea", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_not_allowed [0.067414s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?sort_key=resource_class WITH {} GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-2f14846a-dcbf-4b30-a1c5-a89b61d2311a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_hostname_missing [0.054966s] ... ok
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_mandatory [0.049199s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_uuid_and_name [0.089208s] ... 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-a9ebdddd-f15b-48fe-a060-d5aafc574c05
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:49.688195+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_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_port_id_missing [0.042176s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_unassociated_nodes_insensitive [0.125530s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?associated=false WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-6da2aed8-51b8-427f-9a0e-7968d6f6fbba
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"nodes": [{"uuid": "f1e5078b-9482-4ddd-a078-a0b5e81bd23e", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/f1e5078b-9482-4ddd-a078-a0b5e81bd23e", "rel": "self"}, {"href": "http://localhost/nodes/f1e5078b-9482-4ddd-a078-a0b5e81bd23e", "rel": "bookmark"}]}, {"uuid": "4da51a09-0ea3-4405-b928-6873e6dd333c", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/4da51a09-0ea3-4405-b928-6873e6dd333c", "rel": "self"}, {"href": "http://localhost/nodes/4da51a09-0ea3-4405-b928-6873e6dd333c", "rel": "bookmark"}]}, {"uuid": "e9a2a02e-0391-4bfe-a76b-f43b8e402521", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/e9a2a02e-0391-4bfe-a76b-f43b8e402521", "rel": "self"}, {"href": "http://localhost/nodes/e9a2a02e-0391-4bfe-a76b-f43b8e402521", "rel": "bookmark"}]}]}
GET /v1/nodes?associated=FALSE WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-dc17a02d-f841-4893-b66c-8998b466bce8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"nodes": [{"uuid": "f1e5078b-9482-4ddd-a078-a0b5e81bd23e", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/f1e5078b-9482-4ddd-a078-a0b5e81bd23e", "rel": "self"}, {"href": "http://localhost/nodes/f1e5078b-9482-4ddd-a078-a0b5e81bd23e", "rel": "bookmark"}]}, {"uuid": "4da51a09-0ea3-4405-b928-6873e6dd333c", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/4da51a09-0ea3-4405-b928-6873e6dd333c", "rel": "self"}, {"href": "http://localhost/nodes/4da51a09-0ea3-4405-b928-6873e6dd333c", "rel": "bookmark"}]}, {"uuid": "e9a2a02e-0391-4bfe-a76b-f43b8e402521", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/e9a2a02e-0391-4bfe-a76b-f43b8e402521", "rel": "self"}, {"href": "http://localhost/nodes/e9a2a02e-0391-4bfe-a76b-f43b8e402521", "rel": "bookmark"}]}]}
{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_many [0.122174s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-a551f7bc-7aa5-4718-9e57-18807c890fc0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"connectors": [{"uuid": "b21f9648-52f3-42d5-96a5-daaa41cc2e38", "connector_id": "test-connector_id-0", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/b21f9648-52f3-42d5-96a5-daaa41cc2e38", "rel": "self"}, {"href": "http://localhost/volume/connectors/b21f9648-52f3-42d5-96a5-daaa41cc2e38", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "c3452d77-921e-425a-85e3-a1a1d7219603", "connector_id": "test-connector_id-1", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/c3452d77-921e-425a-85e3-a1a1d7219603", "rel": "self"}, {"href": "http://localhost/volume/connectors/c3452d77-921e-425a-85e3-a1a1d7219603", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "eebcf39a-1aeb-4dbf-a5d1-26346ad515bc", "connector_id": "test-connector_id-2", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/eebcf39a-1aeb-4dbf-a5d1-26346ad515bc", "rel": "self"}, {"href": "http://localhost/volume/connectors/eebcf39a-1aeb-4dbf-a5d1-26346ad515bc", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "996824e4-037b-4f39-8d85-5b83702fccaa", "connector_id": "test-connector_id-3", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/996824e4-037b-4f39-8d85-5b83702fccaa", "rel": "self"}, {"href": "http://localhost/volume/connectors/996824e4-037b-4f39-8d85-5b83702fccaa", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "7e20ad8f-a316-4e2e-a2dc-f387f8579a74", "connector_id": "test-connector_id-4", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/7e20ad8f-a316-4e2e-a2dc-f387f8579a74", "rel": "self"}, {"href": "http://localhost/volume/connectors/7e20ad8f-a316-4e2e-a2dc-f387f8579a74", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]}
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_with_optional [0.037543s] ... ok
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_allow_node_logical_names_post_name [0.028922s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_name [0.111999s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports/detail?portgroup=fooname WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-d9e53c66-2921-4a92-99f6-903e3e296fa9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:49.794481+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_utils.TestNodeIdent.test_allow_node_logical_names_pre_name [0.027347s] ... ok
{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_one [0.098065s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-b72e196c-1d37-4a24-854e-b77bd2c881b2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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"}]}
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_by_name_no_logical_name [0.021638s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_unassociated_nodes_with_limit [0.129063s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes?associated=False&limit=2 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-50913d8c-c484-4daf-9172-4bfc1823795f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"nodes": [{"uuid": "dd5847aa-ebff-4aa6-a05a-3c6185846d75", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/dd5847aa-ebff-4aa6-a05a-3c6185846d75", "rel": "self"}, {"href": "http://localhost/nodes/dd5847aa-ebff-4aa6-a05a-3c6185846d75", "rel": "bookmark"}]}, {"uuid": "86168f1c-b451-415d-a7e4-4180910e3500", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/86168f1c-b451-415d-a7e4-4180910e3500", "rel": "self"}, {"href": "http://localhost/nodes/86168f1c-b451-415d-a7e4-4180910e3500", "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=86168f1c-b451-415d-a7e4-4180910e3500"}
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_by_uuid_no_logical_name [0.037085s] ... ok
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_expect_name [0.041719s] ... ok
{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_one_invalid_api_version [0.071578s] ... 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\": \"\"}"}
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid [0.104743s] ... 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-51be86af-bdcf-4f67-b014-bd45471bdb59
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:49.911209+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"}]}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_name [0.082496s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/validate?node=spam WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-50fe9dab-51ea-4f42-8371-cf1bb97fddbe
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.5
{}
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_expect_uuid [0.035277s] ... ok
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_invalid_name [0.024561s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_and_node_uuid [0.066104s] ... 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-4fad513c-f55b-4cbf-9f37-1b2e94eea36d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_utils.TestNodeIdent.test_is_valid_node_name [0.036111s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_name_unsupported [0.068686s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/validate?node=spam WITH {} GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-1fc3ab65-5b27-4fc4-850d-161686e981bc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_utils.TestNodeIdent.test_populate_node_uuid [0.025359s] ... ok
{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_sort_key [0.121569s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors?sort_key=uuid WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-cb59ae9f-6fa6-461a-8a8d-ae48091d56eb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"connectors": [{"uuid": "4620827f-ec29-4c49-86fe-d570db4af869", "connector_id": "test-connector_id-1", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/4620827f-ec29-4c49-86fe-d570db4af869", "rel": "self"}, {"href": "http://localhost/volume/connectors/4620827f-ec29-4c49-86fe-d570db4af869", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "8a50f8f9-3652-4a80-9997-1339b1b10980", "connector_id": "test-connector_id-0", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/8a50f8f9-3652-4a80-9997-1339b1b10980", "rel": "self"}, {"href": "http://localhost/volume/connectors/8a50f8f9-3652-4a80-9997-1339b1b10980", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "ef2462c5-f5f7-4dbc-abb9-abd2b14e751a", "connector_id": "test-connector_id-2", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/ef2462c5-f5f7-4dbc-abb9-abd2b14e751a", "rel": "self"}, {"href": "http://localhost/volume/connectors/ef2462c5-f5f7-4dbc-abb9-abd2b14e751a", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]}
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_id_with_uuid [0.034846s] ... ok
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_id_with_uuid_not_found [0.022626s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_uuid [0.091366s] ... 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-3c96373f-51d3-4761-bc66-2ba672cd6639
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.5
{}
{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_sort_key_invalid [0.074227s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors?sort_key=foo WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-268f7a11-9341-452e-9f02-2dcce6e83e2e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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-e2555709-46d3-4a01-82f4-eb802d71cc8a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_non_admin [0.126041s] ... 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-716e434f-c3af-4e47-a45c-be1c8c6d25d4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:50.116830+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_utils.TestNodeIdent.test_replace_node_uuid_with_id [0.043636s] ... ok
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_uuid_with_id_not_found [0.022995s] ... ok
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_invalid_name [0.018739s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_uuid_using_deprecated_interface [0.078790s] ... 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-a3b6d914-b4f2-487b-9745-45c4accdac98
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{}
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_name [0.032561s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_non_admin_no_match [0.098304s] ... 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-e98cb50d-13a0-4f82-ae8a-8b4aa179ffa9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.24
{"ports": []}
{2} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_uuid [0.021553s] ... ok
{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_multi [0.119199s] ... 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-bfbd31b7-6ec6-41d9-b0b7-fdfee1c7ea26
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:26:50.209319+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"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_invalid_uuid_or_name [0.066295s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1234~1234~1234 WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-eacb0d59-ea89-4a0d-99be-ffced81dcee9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector [0.062014s] ... 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-3d8f48f9-d433-4ae1-a92d-701c92cd6d0f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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-7484c0b1-60b5-4041-9391-c3ab9235562b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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"}
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_older_api_version [0.084462s] ... 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-f28f38d6-1bd6-4d83-b262-7220e57b2f33
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_id [0.089350s] ... 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-12414f4c-7ffb-4568-9a72-843603c69270
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: connector_id, extra, node_uuid, type\", \"debuginfo\": null}"}
{2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_doesnt_contain_id [0.073635s] ... 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-1c5c7863-0648-4bfb-a31d-8bf8977ef0ad
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:26:50.381202+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-89c7b74c-a294-481c-8180-fb2532f39a76
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:26:50.381202+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"}
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_collection_custom_fields [0.102310s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports?fields=uuid,extra WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-ff4c6830-db6a-415a-b8b6-6743f7d4d05f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": [{"uuid": "4dd0e85a-b2f3-4c90-9d7d-e67759242329", "extra": {}, "links": [{"href": "http://localhost/v1/ports/4dd0e85a-b2f3-4c90-9d7d-e67759242329", "rel": "self"}, {"href": "http://localhost/ports/4dd0e85a-b2f3-4c90-9d7d-e67759242329", "rel": "bookmark"}]}, {"uuid": "d1e885fa-0511-4e7f-939b-4b46f81b57a0", "extra": {}, "links": [{"href": "http://localhost/v1/ports/d1e885fa-0511-4e7f-939b-4b46f81b57a0", "rel": "self"}, {"href": "http://localhost/ports/d1e885fa-0511-4e7f-939b-4b46f81b57a0", "rel": "bookmark"}]}, {"uuid": "e5f95066-1c9a-4ac5-99a9-f8dfbcdb2eee", "extra": {}, "links": [{"href": "http://localhost/v1/ports/e5f95066-1c9a-4ac5-99a9-f8dfbcdb2eee", "rel": "self"}, {"href": "http://localhost/ports/e5f95066-1c9a-4ac5-99a9-f8dfbcdb2eee", "rel": "bookmark"}]}]}
{2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_error [0.040366s] ... 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-cb5b3d6d-736f-4bd1-abf1-ae01fa6e8703
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"}
{2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_generate_uuid [0.059745s] ... 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/ec01e3ee-a4be-4c97-bd02-f597938a5aca
Openstack-Request-Id: req-107e6f64-0ee1-4747-ba38-82e814ec7a2d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "ec01e3ee-a4be-4c97-bd02-f597938a5aca", "created_at": "2025-05-30T17:26:50.494457+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/ec01e3ee-a4be-4c97-bd02-f597938a5aca", "rel": "self"}, {"href": "http://localhost/volume/connectors/ec01e3ee-a4be-4c97-bd02-f597938a5aca", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
GET /v1/volume/connectors/ec01e3ee-a4be-4c97-bd02-f597938a5aca WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-a9d82a8e-b1a3-4a7c-883e-bed876652735
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "ec01e3ee-a4be-4c97-bd02-f597938a5aca", "created_at": "2025-05-30T17:26:50.494457+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/ec01e3ee-a4be-4c97-bd02-f597938a5aca", "rel": "self"}, {"href": "http://localhost/volume/connectors/ec01e3ee-a4be-4c97-bd02-f597938a5aca", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource [0.200859s] ... 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-4bc7d9d0-6db5-4e3c-a334-1655c5b45131
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"connectors": [{"uuid": "c10c2367-37c3-4081-8d37-3dccc1ebc0e0", "connector_id": "test-connector_id-0", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/c10c2367-37c3-4081-8d37-3dccc1ebc0e0", "rel": "self"}, {"href": "http://localhost/volume/connectors/c10c2367-37c3-4081-8d37-3dccc1ebc0e0", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "f873332f-cd2e-47b8-b771-051f77bf7da3", "connector_id": "test-connector_id-1", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/f873332f-cd2e-47b8-b771-051f77bf7da3", "rel": "self"}, {"href": "http://localhost/volume/connectors/f873332f-cd2e-47b8-b771-051f77bf7da3", "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-fcd74f3d-1475-424a-8c06-d8ac9817298b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"connectors": [{"uuid": "c10c2367-37c3-4081-8d37-3dccc1ebc0e0", "connector_id": "test-connector_id-0", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/c10c2367-37c3-4081-8d37-3dccc1ebc0e0", "rel": "self"}, {"href": "http://localhost/volume/connectors/c10c2367-37c3-4081-8d37-3dccc1ebc0e0", "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=c10c2367-37c3-4081-8d37-3dccc1ebc0e0"}
{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_uuid [0.169930s] ... 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-85402af3-7cad-488d-a93d-52ef5ed122cd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:26:50.448949+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_volume_connector.TestPost.test_create_volume_connector_invalid_api_version [0.033862s] ... 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\": \"\"}"}
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_collection_next_marker_no_uuid [0.116928s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports?fields=address&limit=2 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-830acf0c-ab65-4304-b374-908afe2f425e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": [{"address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/985e3de6-6caf-44a5-8bcd-47728ccaa7b8", "rel": "self"}, {"href": "http://localhost/ports/985e3de6-6caf-44a5-8bcd-47728ccaa7b8", "rel": "bookmark"}]}, {"address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/e40f8db9-4933-4feb-a0cf-5497607575d0", "rel": "self"}, {"href": "http://localhost/ports/e40f8db9-4933-4feb-a0cf-5497607575d0", "rel": "bookmark"}]}], "next": "http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=address&limit=2&marker=e40f8db9-4933-4feb-a0cf-5497607575d0"}
{2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_invalid_node_uuid_format [0.041621s] ... 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-e8a334c1-d29a-4cf5-82a8-97c251a6dd9f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for connector: 123 is not of type 'string'\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource_node_not_found [0.109181s] ... 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-7e0d585e-e72e-45cf-9f4b-d26a003d6ac9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_connector_id [0.040054s] ... 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-f0c78cba-f40a-4819-a496-deff26638250
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for connector: 'connector_id' is a required property\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource_noid [0.055137s] ... 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\": \"\"}"}
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_invalid_api_version [0.128924s] ... 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-50975ee6-ee58-4954-aa78-ea43f2fb8c84
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_add_node_uuid_invalid_type [0.146971s] ... 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-568f30c1-72bf-4d6a-9322-afb58bef3bb0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_node_uuid [0.079526s] ... 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-38b23366-4615-423c-a6ce-8a4ec9b7fd76
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for connector: 'node_uuid' is a required property\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource [0.041648s] ... 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-88769955-d2f9-4730-b428-6851061bd2a1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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"}]}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource_invalid_api_version [0.034431s] ... 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-d765f6be-d168-45f4-bfbf-bff0a532f665
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_type [0.074441s] ... 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-960ea71c-ce39-4dd1-a789-4c8d074c23ab
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for connector: 'type' is a required property\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource_link [0.043820s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-5bce63f7-2efb-42dd-9092-8c2be9a07f85
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:50.795470+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"}]}
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_invalid_fields [0.140904s] ... 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-ac291ac2-c3be-4bfe-8b77-6154f16d1e3d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_root [0.174779s] ... 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-007a7222-7e4a-478d-86e5-4cf5c33f8c70
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:26:50.779867+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_volume_connector.TestPost.test_create_volume_connector_node_uuid_not_found [0.099604s] ... 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-7f1649cc-720d-4857-9fae-2e05e04f9654
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node_uuid. Value: '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'. \", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource [0.080814s] ... 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-c7e6559d-89df-4b97-8ee9-4328dd4b4c8c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"targets": [{"uuid": "20df5b5a-9cc8-40f7-9c3f-17b07c5a5f6d", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/20df5b5a-9cc8-40f7-9c3f-17b07c5a5f6d", "rel": "self"}, {"href": "http://localhost/volume/targets/20df5b5a-9cc8-40f7-9c3f-17b07c5a5f6d", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "bf2977fd-35b5-49a2-be3e-a42076f7b71b", "boot_index": 1, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/bf2977fd-35b5-49a2-be3e-a42076f7b71b", "rel": "self"}, {"href": "http://localhost/volume/targets/bf2977fd-35b5-49a2-be3e-a42076f7b71b", "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-c8b45013-ad86-4750-a474-a8016f214b1a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"targets": [{"uuid": "20df5b5a-9cc8-40f7-9c3f-17b07c5a5f6d", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/20df5b5a-9cc8-40f7-9c3f-17b07c5a5f6d", "rel": "self"}, {"href": "http://localhost/volume/targets/20df5b5a-9cc8-40f7-9c3f-17b07c5a5f6d", "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=20df5b5a-9cc8-40f7-9c3f-17b07c5a5f6d"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource_node_not_found [0.043684s] ... 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-158b70ce-3a71-47db-a604-1bb6c2b92484
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_is_smartnic [0.140461s] ... 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-245a9076-322d-49d0-b6c2-7bccd21bef4e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-9ebca028-2e09-4b97-8f8d-e5d9b3c0b904
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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"}]}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource_noid [0.035142s] ... 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\": \"\"}"}
{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_root_non_existent [0.150194s] ... 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-2f4f08d2-d2aa-46db-80b3-385789677804
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: connector_id, extra, node_uuid, type\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_physical_network [0.112500s] ... 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-ef1fd9b3-5609-48fd-8376-7939a834d2b9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-606d534e-d3d4-4215-8f05-cef656db9071
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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"}]}
{2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_type_value_already_exist [0.196346s] ... 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-203f67b9-6569-46fe-8d14-80147537f354
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:26:51.018418+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': '79e4dc19-cf92-46d2-92aa-bee37d80ff1c', '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-03cfb65d-f07e-4967-9c94-b1f6fe49e32f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A volume connector with type iqn and connector ID test-connector-id-456 already exists.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeParentNodePatch.test_node_add_parent [0.131589s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/30033047-8d30-4090-bfaa-b69e40e1067c WITH [{'path': '/parent_node', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-4923f8c9-6d17-4bc2-8c9d-1dcf064e8592
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:51.004042+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"}]}
{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_mandatory_field [0.085122s] ... 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-b417c282-d1f9-4e21-8945-ed34e42f9893
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /value. Only the following can be updated: connector_id, extra, node_uuid, type\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeParentNodePatch.test_node_add_parent_node_fail_wrong_version [0.071461s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/aa60d045-4845-47e6-9c41-ff426622f89e 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-8c727549-706c-4bbb-b8ee-9621fa0e0cd2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_physical_network_upgrade [0.103203s] ... 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-ff58383d-a375-4f8f-a59a-e035afb2811f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_volume_connector.TestPost.test_create_volume_connector_valid_extra [0.167706s] ... 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-2f0d432b-d2da-429e-a122-e425420e2120
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:26:51.210797+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-1a4a1448-66f6-4651-bf69-caba82f169f1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:26:51.210797+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"}
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one [0.092830s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-bae8f85f-ee01-4939-a96e-77ce831c66af
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:51.249416+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"}]}
{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_multi [0.160365s] ... 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-9e2b6486-2c6b-4341-b148-b8fac0730490
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:26:51.197805+00:00", "updated_at": "2025-05-30T17:26:51.212012+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-caf705f5-225f-4761-83f4-335dfde3e418
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:26:51.197805+00:00", "updated_at": "2025-05-30T17:26:51.212012+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"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeParentNodePatch.test_node_add_parent_node_not_uuid [0.124217s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/148b56c3-8bf7-4ffa-a130-8ea0f447ab1d WITH [{'path': '/parent_node', 'value': 'djarin', 'op': 'add'}] GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-e32aedd9-3f63-4e19-9d0b-65cfe5408ee5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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: (<MagicMock name='update_node().allocation_id' id='139869377721104'>,)]\\n(Background on this error at: https://sqlalche.me/e/20/rvf5)\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one_custom_fields [0.095138s] ... 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-4e05dd1b-2e64-4a59-b9ab-3627d44e7260
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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"}]}
{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_node_id [0.098872s] ... 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-0bbb31e6-5faf-47c9-83cd-c846ccb6d40d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.TestNodeParentNodePatch.test_node_remove_parent [0.092851s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/nodes/05b62731-c3fe-411b-a266-cca2a59ec348 WITH [{'path': '/parent_node', 'op': 'remove'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-984e2007-023f-42fc-82cb-a5a163f1e2f1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:51.345390+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"}]}
{2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_node_uuid_to_node_id_mapping [0.166283s] ... 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-cb748a2e-17d0-4e80-97ee-4eaf10b5b7c6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:26:51.397757+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"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardPost.test_create_node_with_shard [0.101242s] ... 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-b2e227e4-64eb-4f09-823a-c2860d4737bb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:51.488893+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-a80263ff-7eed-4779-80d8-59d8738ef630
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:51.488893+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"}]}
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one_portgroup_is_none [0.122299s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-feccb9ac-e6a2-4b1e-868d-6bb3169745f4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:51.446088+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}
{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_non_existent_property_fail [0.137482s] ... 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-724335c3-87c0-4a2d-a8e1-28c3949269ef
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}"}
{2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_byid [0.146659s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 204 No Content
Openstack-Request-Id: req-e3652b06-ea18-4339-b19b-ab04e0b5c189
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardPost.test_create_node_with_shard_fail_wrong_version [0.076928s] ... 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-d76b72d7-a9a1-42c5-af6c-ea249b0112b3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_uuid [0.092794s] ... 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-c58b0b53-182a-43e8-a1fe-0f0c69df57fd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /uuid. Only the following can be updated: connector_id, extra, node_uuid, type\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_ports_by_description [0.116523s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports?description_contains=cat WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-5a8bab8c-3ca0-49af-afb3-923b5e5c9da9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": [{"uuid": "ba121121-057c-4d6e-bb56-fa1c6ffa93e6", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/ba121121-057c-4d6e-bb56-fa1c6ffa93e6", "rel": "self"}, {"href": "http://localhost/ports/ba121121-057c-4d6e-bb56-fa1c6ffa93e6", "rel": "bookmark"}]}]}
GET /v1/ports?description_contains=dog WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-909edb59-0fa8-42ae-bfd6-b679ebdbd5b3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": [{"uuid": "61a6d0a0-eccc-4afe-b76e-1e4fa6280e0e", "address": "52:54:00:cf:2d:32", "links": [{"href": "http://localhost/v1/ports/61a6d0a0-eccc-4afe-b76e-1e4fa6280e0e", "rel": "self"}, {"href": "http://localhost/ports/61a6d0a0-eccc-4afe-b76e-1e4fa6280e0e", "rel": "bookmark"}]}]}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_attach [0.046900s] ... 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-e566b9d5-e106-417b-8183-db965d545138
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.93
{2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_byid_invalid_api_version [0.118994s] ... 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\": \"\"}"}
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_advanced_net [0.120669s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-c850ade0-8537-4b59-870a-684a50958967
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:51.698212+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-db202431-ad77-4b0b-99c8-ff6243fe2ba1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:51.698212+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"}]}
{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_connector_id_already_exist [0.127808s] ... 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-34dd9d9b-a2fa-4790-a37a-febd4b8f2698
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A volume connector with type None and connector ID test-connector-id-123 already exists.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_invalid_power_state [0.153586s] ... 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-f2abed00-738c-434b-9ad3-e7b9b9c520c1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}"}
{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_invalid_power_state [0.099983s] ... 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-79d58856-ca6a-4f0f-8047-15a7f00ea55c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}"}
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_internal_info [0.107295s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-863ccd64-7a3f-448e-82d0-3d5504d2c605
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:51.817921+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-35a4025e-7ea8-417b-a077-ed365a9a02d9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:51.817921+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_node.TestNodeVmedia.test_attach_invalid_device_type [0.256964s] ... 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-da6c7e55-6184-4953-8540-f2420c1a4fed
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_attach_invalid_image_url [0.040132s] ... 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-515ace29-cbf8-4fca-9128-09f60dbc7cd4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_multi [0.119751s] ... 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-c7ac461c-f15f-45c9-8caa-91ecfe1285de
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:26:51.913067+00:00", "updated_at": "2025-05-30T17:26:51.922315+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.TestNodeVmedia.test_attach_missing_device_type [0.032830s] ... 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-8702872b-456e-4c7c-b969-ea8cdb783a0d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_is_smartnic [0.118559s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-59982067-4fa8-4652-875c-37eb055fb43c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:51.931443+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-9185a53f-f631-40e7-a6de-770757b8d225
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:51.931443+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}
{2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_node_locked [0.160353s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 409 Conflict
Content-Type: application/json
Openstack-Request-Id: req-e2fe0d34-3482-45a2-b4a9-e75ad5f4298d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_node.TestNodeVmedia.test_attach_missing_image_url [0.054443s] ... 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-979282cf-bf87-453c-9ead-8d718e8daf51
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_id [0.095436s] ... 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-579fdc3c-22bd-4179-a1fa-aa6a793889cc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.TestNodeVmedia.test_attach_required_only [0.045057s] ... 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-1f220d70-ef47-4948-ae71-f95adc82f939
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.93
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_ovn_vtep [0.130714s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-cb65fe5c-4cc3-4be4-9adc-65217ab833a5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:52.056202+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-f7e68b53-bf50-45a3-af5c-331b42e9b1d5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:52.056202+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-966184f3-47e0-4fe8-b810-ca8c372f23f4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:52.056202+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}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_attach_wrong_version [0.053449s] ... 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\": \"\"}"}
{2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target [0.174789s] ... 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-1bbc2eaa-9436-41c0-a11c-aedd8697c845
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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-ee4c2246-9b0b-4072-8ae5-6e7cac51d4d4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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"}
{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_uuid [0.147961s] ... 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-8b6d912d-76f2-431c-9dd0-4b0a7a744c1f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:26:52.147302+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"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_detach_everything [0.072497s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vmedia GOT Response: 204 No Content
Openstack-Request-Id: req-4d9513e1-5669-479b-9a00-9dde1bd9a0ae
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.93
{2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_doesnt_contain_id [0.119060s] ... 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-90859879-88f7-4871-9236-73d987953c37
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:26:52.263073+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-5bddd783-9ccd-4546-8584-b6c251e1f750
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:26:52.263073+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"}
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_physical_network [0.186720s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-83749e3d-9ec2-43a9-8e98-8304c989177a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:52.219221+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-a3a66c5e-c2b6-4eac-8755-0e6222924fd8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:52.219221+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_node.TestNodeVmedia.test_detach_several_via_argument [0.072028s] ... 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-b9a95380-8be6-48a2-9141-91b49ed86eb9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.93
{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_uuid_invalid_type [0.176035s] ... 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-3c85806e-56c9-4087-a489-a075787668a8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_detach_specific_via_argument [0.079112s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vmedia?device_types=cdrom GOT Response: 204 No Content
Openstack-Request-Id: req-dccf548c-e456-47e7-888b-ed64f7b5c324
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.93
{2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_error [0.091687s] ... 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-828f161d-d9b4-4f96-a69c-34d0dc52f0f7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_physical_network_upgrade [0.144329s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-1a65ad7c-16c3-4c67-b42f-421b5143c53e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:52.419769+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_node.TestNodeVmedia.test_detach_specific_via_url [0.064902s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vmedia/cdrom GOT Response: 204 No Content
Openstack-Request-Id: req-c71793c2-4187-4723-a934-fdba4dabb2ab
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.93
{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_non_existent_node_uuid [0.108068s] ... 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-bef5e846-c684-4b7b-ac35-450bc5a104a0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_volume_target.TestPost.test_create_volume_target_generate_uuid [0.118559s] ... 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/3a2bc5a7-aa7d-4274-9b76-a31419b9e6a5
Openstack-Request-Id: req-44a2914a-8a89-495d-bfdb-4deb2f559fe9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "3a2bc5a7-aa7d-4274-9b76-a31419b9e6a5", "created_at": "2025-05-30T17:26:52.492131+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/3a2bc5a7-aa7d-4274-9b76-a31419b9e6a5", "rel": "self"}, {"href": "http://localhost/volume/targets/3a2bc5a7-aa7d-4274-9b76-a31419b9e6a5", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
GET /v1/volume/targets/3a2bc5a7-aa7d-4274-9b76-a31419b9e6a5 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-dcd1e88c-c607-417a-9322-6918a874d9e9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "3a2bc5a7-aa7d-4274-9b76-a31419b9e6a5", "created_at": "2025-05-30T17:26:52.492131+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/3a2bc5a7-aa7d-4274-9b76-a31419b9e6a5", "rel": "self"}, {"href": "http://localhost/volume/targets/3a2bc5a7-aa7d-4274-9b76-a31419b9e6a5", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_detach_wrong_device_types [0.071370s] ... 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-474505f2-98db-4a45-9efb-1dc00fd60b01
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_portgroup_uuid [0.140566s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-74fec3e8-1284-435a-949c-a72a8b6cbe4a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:52.529173+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-30bbb004-e609-4b03-8aa7-d8fc5d32c90f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:52.529173+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_volume_target.TestPost.test_create_volume_target_invalid_api_version [0.061530s] ... 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\": \"\"}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_detach_wrong_version [0.058427s] ... 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\": \"\"}"}
{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_singular [0.116286s] ... 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-4d67aeb8-db6c-4b4b-a000-e05664c68320
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:26:52.580292+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"}
{2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_invalid_node_uuid_format [0.087196s] ... 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-5e730e2c-c296-4127-8869-7f5d0e77b0e5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for target: 123 is not of type 'string'\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_get [0.076251s] ... 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-fc0753d1-fd57-4642-a2cb-8fb6ee8f49fa
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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": ""}]
{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_byid [0.133387s] ... 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-8d5c40f5-448e-4e6b-97aa-36f912d2f5e9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:26:52.699699+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_volume_target.TestPost.test_create_volume_target_no_mandatory_field_node_uuid [0.073914s] ... 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-12627075-57f4-4ebe-8ace-3e24625bd502
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for target: 'node_uuid' is a required property\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_get_wrong_version [0.067980s] ... 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-05c89352-a356-415a-8135-b7e5657ca8fe
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_invalid_api_version [0.086226s] ... 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\": \"\"}"}
{2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_type [0.087635s] ... 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-ae1e6754-3b16-4397-90e7-a3badaf20fe9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for target: 'volume_type' is a required property\", \"debuginfo\": null}"}
{2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_value [0.091249s] ... 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-ef774851-9442-4b47-9211-7171608fc6d6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for target: 'boot_index' is a required property\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node [0.231839s] ... 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-2fa1f8c8-f230-4dac-afda-480f189233ba
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-2428a7a2-455d-46f7-80a9-777be0900471
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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"}]}
{2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_node_uuid_not_found [0.113778s] ... 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-488ea1b4-485e-4b61-8403-3ee31d3e18d6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node_uuid. Value: '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'. \", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_links [0.546921s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports/f362993c-ed7b-40aa-8745-92bb1d1f6e57 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-94a38f29-a3ec-4467-8fe8-e845b96a51f3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "f362993c-ed7b-40aa-8745-92bb1d1f6e57", "created_at": "2025-05-30T17:26:53.060333+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/f362993c-ed7b-40aa-8745-92bb1d1f6e57", "rel": "self"}, {"href": "http://localhost/ports/f362993c-ed7b-40aa-8745-92bb1d1f6e57", "rel": "bookmark"}]}
GET /v1/ports/f362993c-ed7b-40aa-8745-92bb1d1f6e57 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-63c8ed9a-d8d0-4d01-ac06-c304472bc118
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "f362993c-ed7b-40aa-8745-92bb1d1f6e57", "created_at": "2025-05-30T17:26:53.060333+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/f362993c-ed7b-40aa-8745-92bb1d1f6e57", "rel": "self"}, {"href": "http://localhost/ports/f362993c-ed7b-40aa-8745-92bb1d1f6e57", "rel": "bookmark"}]}
GET /ports/f362993c-ed7b-40aa-8745-92bb1d1f6e57 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-89da6d6e-9ff9-4091-b445-690dc9172e49
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "f362993c-ed7b-40aa-8745-92bb1d1f6e57", "created_at": "2025-05-30T17:26:53.060333+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/f362993c-ed7b-40aa-8745-92bb1d1f6e57", "rel": "self"}, {"href": "http://localhost/ports/f362993c-ed7b-40aa-8745-92bb1d1f6e57", "rel": "bookmark"}]}
{2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_valid_extra [0.136517s] ... 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-bc066453-070b-43da-b51c-7237d6b05054
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:26:53.196609+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-ea64e5ae-02dc-47e2-9b35-68c7b511482d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:26:53.196609+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"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_automated_clean [0.246035s] ... 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-7cb113e1-e341-4f28-ad5a-726bd78807f7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:26:53.238527+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-75dde958-1a21-44a9-ac36-e7155d8909b9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:26:53.238527+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"}]}
{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_not_found [0.448344s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/connectors/fa44a18c-e9a9-4660-9100-3db2af68a60b WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-df49aebb-2249-48ec-bbea-9ad184f03e5b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector fa44a18c-e9a9-4660-9100-3db2af68a60b could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_links_public_url [0.147415s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports/f4ac6f93-853e-4d8c-a85e-f86b5c22d424 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-70b34bdf-6ca3-43cd-9509-3fb4f1dfc088
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "f4ac6f93-853e-4d8c-a85e-f86b5c22d424", "created_at": "2025-05-30T17:26:53.201295+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/f4ac6f93-853e-4d8c-a85e-f86b5c22d424", "rel": "self"}, {"href": "http://foo/ports/f4ac6f93-853e-4d8c-a85e-f86b5c22d424", "rel": "bookmark"}]}
GET /v1/ports/f4ac6f93-853e-4d8c-a85e-f86b5c22d424 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-9fb52fe6-b825-4ac7-8654-d3266d617573
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "f4ac6f93-853e-4d8c-a85e-f86b5c22d424", "created_at": "2025-05-30T17:26:53.201295+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/f4ac6f93-853e-4d8c-a85e-f86b5c22d424", "rel": "self"}, {"href": "http://foo/ports/f4ac6f93-853e-4d8c-a85e-f86b5c22d424", "rel": "bookmark"}]}
GET /ports/f4ac6f93-853e-4d8c-a85e-f86b5c22d424 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-8053a782-59f8-4f04-b525-338e1c4c4edb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "f4ac6f93-853e-4d8c-a85e-f86b5c22d424", "created_at": "2025-05-30T17:26:53.201295+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/f4ac6f93-853e-4d8c-a85e-f86b5c22d424", "rel": "self"}, {"href": "http://foo/ports/f4ac6f93-853e-4d8c-a85e-f86b5c22d424", "rel": "bookmark"}]}
{0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_multi [0.058020s] ... 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-7403fa61-fbed-4f0f-a3fd-6b82b5731deb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:26:53.325683+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"}
{2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_node_uuid_to_node_id_mapping [0.137183s] ... 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-f741f7a9-0fa8-4bbb-a21d-781339ab9c47
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:26:53.346812+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_node.TestPost.test_create_node_automated_clean_old_api_version [0.142695s] ... 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-19581aae-b9f8-45b4-8d69-fdb0c3cf2f7d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_target.TestPatch.test_add_node_id [0.069368s] ... 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-52d7a3ce-0961-4e5a-8e34-8fe2d20b5ccf
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}"}
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_non_admin_forbidden [0.172187s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-756c18d2-64de-451e-8364-613e5e7becfb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.test_functions.TestFunctionDefinition.test_get_arg [0.095698s] ... ok
{0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_uuid [0.115300s] ... 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-f3a35ac9-aa06-4c65-b2fb-1250296cb991
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:26:53.509949+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.test_functions.TestFunctionDefinition.test_set_arg_types [0.085990s] ... ok
{0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_uuid_invalid_type [0.083443s] ... 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-4dca0b80-f6fb-477a-9b39-960bb085e5da
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.api.test_functions.TestFunctionDefinition.test_signature [0.085168s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_non_admin_forbidden_no_project [0.190477s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-fa87f31d-f604-4761-8ed8-2341092229b5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_node.TestPost.test_create_node_chassis_uuid_always_in_response [0.329805s] ... 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-9d54318e-df86-427f-9cfe-7daf74457aad
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-e720ace3-849f-4395-936a-eb6170272070
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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': '9790862e-3be8-4007-a6b4-d7e183f36dc0', '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/9790862e-3be8-4007-a6b4-d7e183f36dc0
Openstack-Request-Id: req-8c168dca-6b22-4192-9971-50c8dc82015e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "9790862e-3be8-4007-a6b4-d7e183f36dc0", "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/9790862e-3be8-4007-a6b4-d7e183f36dc0", "rel": "self"}, {"href": "http://localhost/nodes/9790862e-3be8-4007-a6b4-d7e183f36dc0", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/9790862e-3be8-4007-a6b4-d7e183f36dc0/ports", "rel": "self"}, {"href": "http://localhost/nodes/9790862e-3be8-4007-a6b4-d7e183f36dc0/ports", "rel": "bookmark"}]}
GET /v1/nodes/9790862e-3be8-4007-a6b4-d7e183f36dc0 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-2aff092a-3889-4692-ad33-cfefe2f97693
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "9790862e-3be8-4007-a6b4-d7e183f36dc0", "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/9790862e-3be8-4007-a6b4-d7e183f36dc0", "rel": "self"}, {"href": "http://localhost/nodes/9790862e-3be8-4007-a6b4-d7e183f36dc0", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/9790862e-3be8-4007-a6b4-d7e183f36dc0/ports", "rel": "self"}, {"href": "http://localhost/nodes/9790862e-3be8-4007-a6b4-d7e183f36dc0/ports", "rel": "bookmark"}]}
{0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_root [0.117514s] ... 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-bb94b795-e426-4861-81d3-b45123b04af1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:26:53.708619+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.test_ospmiddleware.TestOsprofilerWsgiMiddleware.test_disable_osp_wsgi_request [0.103316s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_chassis_uuid_not_found [0.069642s] ... 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-420c52f9-24ea-49d0-94da-9597eefd9513
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_root_non_existent [0.089031s] ... 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-cd7aec2e-18a6-41c2-b251-1510bd0f047b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}"}
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_many [0.191823s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-d0ef0c02-c876-4f19-9b97-f3277f39b6ed
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"ports": [{"uuid": "df46fccd-4d87-4b97-9ea8-2c12f08c0d42", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/df46fccd-4d87-4b97-9ea8-2c12f08c0d42", "rel": "self"}, {"href": "http://localhost/ports/df46fccd-4d87-4b97-9ea8-2c12f08c0d42", "rel": "bookmark"}]}, {"uuid": "5be50797-4c8f-4f5e-95ac-20c9a7298c84", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/5be50797-4c8f-4f5e-95ac-20c9a7298c84", "rel": "self"}, {"href": "http://localhost/ports/5be50797-4c8f-4f5e-95ac-20c9a7298c84", "rel": "bookmark"}]}, {"uuid": "865aa1dd-55e8-4678-b60c-df9e4e7b9f76", "address": "52:54:00:cf:2d:32", "links": [{"href": "http://localhost/v1/ports/865aa1dd-55e8-4678-b60c-df9e4e7b9f76", "rel": "self"}, {"href": "http://localhost/ports/865aa1dd-55e8-4678-b60c-df9e4e7b9f76", "rel": "bookmark"}]}, {"uuid": "83857e35-3150-4d02-81b5-d6a3429f82cc", "address": "52:54:00:cf:2d:33", "links": [{"href": "http://localhost/v1/ports/83857e35-3150-4d02-81b5-d6a3429f82cc", "rel": "self"}, {"href": "http://localhost/ports/83857e35-3150-4d02-81b5-d6a3429f82cc", "rel": "bookmark"}]}, {"uuid": "c70f9121-7c55-4822-bc15-47b7f381ad1c", "address": "52:54:00:cf:2d:34", "links": [{"href": "http://localhost/v1/ports/c70f9121-7c55-4822-bc15-47b7f381ad1c", "rel": "self"}, {"href": "http://localhost/ports/c70f9121-7c55-4822-bc15-47b7f381ad1c", "rel": "bookmark"}]}]}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_default_state_enroll [0.143815s] ... 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-b24f1db9-6aec-44eb-9e90-380f30f85fd7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:53.935852+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-efa1f4ed-00c4-48d4-906c-098cdaf77ca4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:53.935852+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"}]}
{0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_mandatory_field [0.119374s] ... 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-789aca72-2e11-40b4-840c-e374d1bf7d59
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'boot_index' is a required property\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_many_non_admin [0.187142s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-ff03b3f4-8b6e-4d1b-9a51-e326339f6982
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"ports": [{"uuid": "cef789d6-f49f-4235-bc22-b42a968ecb72", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/cef789d6-f49f-4235-bc22-b42a968ecb72", "rel": "self"}, {"href": "http://localhost/ports/cef789d6-f49f-4235-bc22-b42a968ecb72", "rel": "bookmark"}]}, {"uuid": "7f0eda51-5e37-4a14-a017-a8a5eb84067b", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/7f0eda51-5e37-4a14-a017-a8a5eb84067b", "rel": "self"}, {"href": "http://localhost/ports/7f0eda51-5e37-4a14-a017-a8a5eb84067b", "rel": "bookmark"}]}]}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_default_state_none [0.199250s] ... 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-92b79b2d-b704-45ca-9b98-5ae960636d0f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:54.108051+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-64f4c820-83d3-41be-a094-41c750bbf839
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:54.108051+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-bb790fd3-80ed-4952-8838-8e0ae7ced36c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:54.108051+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"}]}
{0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_multi [0.201292s] ... 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-032709e0-4db9-4d13-89e8-aa690356ca28
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:26:54.070891+00:00", "updated_at": "2025-05-30T17:26:54.082433+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-62145f40-708f-43f1-96ea-4dbd66bd257e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:26:54.070891+00:00", "updated_at": "2025-05-30T17:26:54.082433+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.controllers.v1.test_port.TestListPorts.test_one [0.143265s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-967da455-0961-4ddd-be91-082638a711e1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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"}]}]}
{0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_node_id [0.101124s] ... 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-5b73ecc7-7cf4-4539-9795-85a23aadbe63
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_description [0.122538s] ... 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-578695ec-f98f-489a-b623-402a6e803c26
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:26:54.275957+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-004d1ae1-7b11-42d7-9f02-8f0df1f17af7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:26:54.275957+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.TestPost.test_create_node_description_oversize [0.080432s] ... 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-9b37ded4-3fd2-43ab-b0a3-b47c6b995ad7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: '1234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781
    234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678last weed' is too long\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address [0.160978s] ... 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-d99a690b-97f4-4836-abb9-e6e07006871d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"ports": [{"uuid": "97f1102c-ff4d-4be1-919c-19b19fccd17c", "address": "aa:bb:cc:dd:ee:f1", "links": [{"href": "http://localhost/v1/ports/97f1102c-ff4d-4be1-919c-19b19fccd17c", "rel": "self"}, {"href": "http://localhost/ports/97f1102c-ff4d-4be1-919c-19b19fccd17c", "rel": "bookmark"}]}]}
{0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_non_existent_property_fail [0.106354s] ... 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-32f173aa-b0f6-45df-8d67-ee564991ceb9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}"}
{2} ironic.tests.unit.api.test_ospmiddleware.TestOsprofilerWsgiMiddleware.test_enable_osp_wsgi_request [0.597205s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_disable_power_off [0.104808s] ... 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-c7953b02-10bc-4b13-841c-5b594e6e1c69
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:26:54.450652+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-a23f62b1-9e28-42b7-8b36-d159065693d3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:26:54.450652+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"}]}
{2} ironic.tests.unit.api.test_root.TestRoot.test_get_root [0.081424s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET / WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-88505ae7-f94b-4283-a4c1-e2dbd1aa902d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.99"}, "versions": [{"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.99"}]}
{0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_uuid [0.123827s] ... 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-e89c847d-667c-41c5-aa4a-94f88dfbeabc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}"}
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_invalid_address_format [0.121535s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports?address=invalid-mac-format WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-6041979c-3922-4a6e-b44a-0faed856ed99
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.TestPost.test_create_node_disable_power_off_old_api_version [0.069469s] ... 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-fd01a47f-44a8-4d35-89fe-35b18b6010ed
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.api.test_root.TestRoot.test_no_html_errors [0.085470s] ... 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.controllers.v1.test_volume_target.TestPatch.test_replace_boot_index_already_exist [0.072669s] ... 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-ae3eb7e1-f6a4-490a-b0c9-346584a275dd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A volume target with boot index '100' for the same node already exists.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_invalid_power_state [0.060630s] ... 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-a82faf18-a48a-4bf0-97dd-a1f691069873
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.test_root.TestRoot.test_no_html_errors2 [0.088474s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/ GOT Response: 405 Method Not Allowed
Content-Type: application/json
Openstack-Request-Id: req-7a679d45-daef-4b07-a540-f9e765d968d9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_admin [0.166220s] ... 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-5f04c0b2-3186-44ab-b715-769f6587097d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"ports": [{"uuid": "a85a3837-3654-43fc-8e2a-aa8439036294", "address": "aa:bb:cc:dd:ee:f1", "links": [{"href": "http://localhost/v1/ports/a85a3837-3654-43fc-8e2a-aa8439036294", "rel": "self"}, {"href": "http://localhost/ports/a85a3837-3654-43fc-8e2a-aa8439036294", "rel": "bookmark"}]}]}
{0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_multi [0.059803s] ... 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-4cbebf42-1c5d-47de-9624-6c46980b08b1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:26:54.689395+00:00", "updated_at": "2025-05-30T17:26:54.691875+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.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_id [0.060778s] ... 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-c3a3447e-b3d8-4109-b840-7ae5b43d5283
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.command.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_defaults [0.107214s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_doesnt_contain_id [0.254618s] ... 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-f71381b6-6c5d-4c29-874f-8e8488c3afc4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:54.723723+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-6dea0544-e70d-437e-9946-968ff5e4bdf3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:54.723723+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"}]}
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_admin_no_match [0.113999s] ... 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-42c63e88-72ca-4ce4-bb75-77dad4ef3b3e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"ports": []}
{0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_uuid [0.061827s] ... 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-9870380f-cc73-4c29-acf5-cc8fed482e08
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:26:54.811865+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.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_uuid_inalid_type [0.044199s] ... 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-1207cde5-8850-48ba-8e22-fdea5a5522a3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_existent_address [0.077829s] ... 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-f2aab859-ed07-40a7-9149-650927b1453e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"ports": []}
{2} ironic.tests.unit.command.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_produces_a_warning [0.123910s] ... ok
{0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_non_existent_node_uuid [0.049982s] ... 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-eac58863-b6cb-403e-84dc-d8b84fbf67f1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_portgroups_subresource_invalid_ident [0.079791s] ... 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\"}"}
{0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_singular [0.068809s] ... 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-377fbbef-e39d-425b-8256-ef9a93e49b3a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:26:54.972759+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.command.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_random_no_zeros [0.110754s] ... ok
{0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_byid [0.054494s] ... 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-a72a4b96-a130-48f4-91f6-26626e6598d8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:26:55.031847+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.controllers.v1.test_port.TestListPorts.test_portgroups_subresource_node_not_found [0.097446s] ... 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\": \"\"}"}
{0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_byid_invalid_api_version [0.041935s] ... 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_node.TestPost.test_create_node_explicit_default_conductor_group [0.313765s] ... 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-c9a9b664-8e0f-4bd1-b547-500687b296dd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:55.050417+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-80dc4bae-db42-4bb8-a70b-ee69be9d12a5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:55.050417+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"}]}
{2} ironic.tests.unit.command.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_zeros [0.102438s] ... ok
{0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_not_found [0.040580s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/targets/80e5e5bc-83d0-4b78-855a-1c11d8ba4278 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-9f0eba4f-09ce-4847-aa87-2350cd6404d7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 80e5e5bc-83d0-4b78-855a-1c11d8ba4278 could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_after_add_request_id [0.035447s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key [0.110895s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports?sort_key=uuid WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-be8aa2b9-0893-45fb-8f30-a9e611ce4f76
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"ports": [{"uuid": "a180f7df-0ff8-4425-a9d5-e197ebac2f6c", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/a180f7df-0ff8-4425-a9d5-e197ebac2f6c", "rel": "self"}, {"href": "http://localhost/ports/a180f7df-0ff8-4425-a9d5-e197ebac2f6c", "rel": "bookmark"}]}, {"uuid": "cc8c43de-d6b4-49e8-8fce-e161204d018a", "address": "52:54:00:cf:2d:32", "links": [{"href": "http://localhost/v1/ports/cc8c43de-d6b4-49e8-8fce-e161204d018a", "rel": "self"}, {"href": "http://localhost/ports/cc8c43de-d6b4-49e8-8fce-e161204d018a", "rel": "bookmark"}]}, {"uuid": "ecdb16e9-476c-49ed-bb75-f740081d75ae", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/ecdb16e9-476c-49ed-bb75-f740081d75ae", "rel": "self"}, {"href": "http://localhost/ports/ecdb16e9-476c-49ed-bb75-f740081d75ae", "rel": "bookmark"}]}]}
{0} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_after_miss_context [0.032423s] ... 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\": \"\"}"}
{2} ironic.tests.unit.command.test_status.TestUpgradeChecks.test__check_allocations_table_latin1 [0.104492s] ... ok
{0} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_auth_token_info [0.048413s] ... ok
{0} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_noauth_token_removed [0.033363s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_allowed [0.095478s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports?sort_key=pxe_enabled WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-b183f4aa-7c21-48ed-b20b-f82904f77c14
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": [{"uuid": "72cb6aa8-8fd5-44ce-ae7c-9e7aedc64331", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/72cb6aa8-8fd5-44ce-ae7c-9e7aedc64331", "rel": "self"}, {"href": "http://localhost/ports/72cb6aa8-8fd5-44ce-ae7c-9e7aedc64331", "rel": "bookmark"}]}, {"uuid": "5937400a-04ee-4745-ae48-39ab1034e877", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/5937400a-04ee-4745-ae48-39ab1034e877", "rel": "self"}, {"href": "http://localhost/ports/5937400a-04ee-4745-ae48-39ab1034e877", "rel": "bookmark"}]}]}
{0} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_not_admin [0.030778s] ... ok
{2} ironic.tests.unit.command.test_status.TestUpgradeChecks.test__check_allocations_table_myiasm [0.090311s] ... ok
{0} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_public_api [0.051015s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_invalid [0.088468s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports?sort_key=foo WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-a99c8b32-a304-4402-b65e-35a40900fd11
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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-1ef012dc-5e0d-423d-a70d-8bdb3dbfb7e1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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-657bfa67-31dc-4525-b82e-a68beb535551
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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-eabee83b-acad-43be-9acb-5d15e05564cd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value local_link_connection is an invalid field for sorting\", \"debuginfo\": null}"}
{2} ironic.tests.unit.command.test_status.TestUpgradeChecks.test__check_allocations_table_myiasm_both [0.087033s] ... ok
{0} ironic.tests.unit.api.test_hooks.TestPolicyDeprecation.test_policy_deprecation_check [0.048259s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_network_interface [0.307440s] ... 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-04c829a5-48f1-42f5-b06a-5dd822d3010d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-06fa733f-71ef-47cd-a69f-079eb285269d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.test_middleware.TestCORSMiddleware.test_invalid_cors_get_request [0.047717s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_not_allowed [0.075764s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports?sort_key=pxe_enabled WITH {} GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-6021312d-a4c3-41c8-adf6-77d45ef6dd6e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.command.test_status.TestUpgradeChecks.test__check_allocations_table_ok [0.080850s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_allow [0.060037s] ... ok
{0} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_invalid_cors_options_request [0.077656s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_empty [0.055150s] ... ok
{0} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_valid_cors_get_request [0.047174s] ... ok
{0} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_valid_cors_options_request [0.025204s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_local_link_connection_none_type [0.045049s] ... ok
{0} ironic.tests.unit.api.test_proxy_middleware.TestProxyHeadersMiddleware.test_proxy_headers_disabled [0.030706s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET / WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-8c9a6e42-a072-4b7c-aa8b-15f55754effb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.99"}, "versions": [{"id": "v1", "links": [{"href": "http://spam.ham/eggs/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.99"}]}
{0} ironic.tests.unit.api.test_proxy_middleware.TestProxyHeadersMiddleware.test_proxy_headers_enabled [0.033675s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET / WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-748527b0-715c-4bb9-b807-2d8ca3f5726b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.99"}, "versions": [{"id": "v1", "links": [{"href": "https://mycloud.com/ironic/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.99"}]}
{0} ironic.tests.unit.common.test_args.ValidateDictTest.test_dict_valid [0.025801s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_resource_class [0.292609s] ... 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-068ed98b-3810-4f71-a5b5-d3dc5940b2fb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:55.666591+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-a45be509-241a-4c7e-8814-6b08b2722bed
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:55.666591+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"}]}
{3} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_none [0.091539s] ... ok
{0} ironic.tests.unit.common.test_args.ValidateDictTest.test_dict_valid_colon_key_name [0.020099s] ... ok
{0} ironic.tests.unit.common.test_args.ValidatePatchSchemaTest.test_patch [0.024884s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_not_allow [0.048567s] ... ok
{0} ironic.tests.unit.common.test_args.ValidatePatchSchemaTest.test_patch_validation_failed [0.043901s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_physnet_allow [0.049001s] ... ok
{0} ironic.tests.unit.common.test_args.ValidateTypesTest.test_types [0.044626s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_physnet_not_allow [0.046657s] ... ok
{0} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsValidateTestCase.test_validate_checksum [0.029924s] ... ok
{0} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsValidateTestCase.test_validate_checksum_file_not_found [0.020964s] ... ok
{0} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsValidateTestCase.test_validate_checksum_hashlib_not_supports_algo [0.021397s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_portgroup_allow [0.053737s] ... ok
{0} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsValidateTestCase.test_validate_checksum_mismatch [0.028404s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_portgroup_not_allow [0.054470s] ... ok
{0} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsValidateTestCase.test_validate_checksum_mixed_case [0.037413s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_storage_interface [0.303842s] ... 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-1f39776b-35bf-4510-999e-a36a97db144a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-3f87de31-8d1c-43f9-9b50-bc29c0326cf7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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"}]}
{3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspection.test_bmc_address_as_none [0.078851s] ... 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-02bca888-b6ef-4111-b325-4f55496f997b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "77142fa3-c263-4e8d-a318-856f554422a1"}
{3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspection.test_inspector_compatibility [0.088279s] ... 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-069b87d9-142e-4713-9deb-66ac9fac71f3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "7c09fe61-de7d-46c9-ac79-1050179bd138"}
{0} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsValidateTestCase.test_validate_checksum_mixed_case_delimited [0.222410s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_fails_on_disabled_bios_boot_mode [0.206680s] ... 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-6833b44a-3049-49ca-bdcd-db0f15d8ff27
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.common.test_checksum_utils.IronicChecksumUtilsValidateTestCase.test_validate_checksum_mixed_md5 [0.027452s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspection.test_invalid_schema [0.095514s] ... 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-1b0c7d13-8726-4c00-9957-084b1756daff
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for data: 'interfaces' is a required property\", \"debuginfo\": null}"}
{2} ironic.tests.unit.command.test_status.TestUpgradeChecks.test__check_obj_versions [0.817972s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspection.test_new_api [0.103446s] ... 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-5059e433-0358-43e7-8d68-f50b676dd4d7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"node": {"uuid": "a47387ad-d40a-4991-a722-351a695e8608", "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/a47387ad-d40a-4991-a722-351a695e8608", "rel": "self"}, {"href": "http://localhost/nodes/a47387ad-d40a-4991-a722-351a695e8608", "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.command.test_status.TestUpgradeChecks.test__check_obj_versions_bad [0.110688s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspection.test_no_usable_lookup_data [0.080974s] ... 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-6039e660-3e19-4909-892e-262639ab7e2f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No lookup information provided\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_fails_on_disabled_uefi_boot_mode [0.235711s] ... 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-1ed974fb-b5b8-41f0-ab12-cf11ff1c531a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_fallback [0.087657s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspection.test_old_api_version [0.081910s] ... 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-cd085486-c615-4a1a-ae38-d537e56b6f4a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_fails_on_invalid_boot_mode [0.097373s] ... ok
{2} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer_drivername [0.078457s] ... ok
{2} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer_drivername_node [0.082974s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_fast_deploy_lookup [0.149576s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=03a0fcfa-480a-4d59-a4cf-ebca8ccd5294 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-e5e00bd3-f7a7-4c67-959a-032dfd828b13
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"node": {"uuid": "03a0fcfa-480a-4d59-a4cf-ebca8ccd5294", "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/03a0fcfa-480a-4d59-a4cf-ebca8ccd5294", "rel": "self"}, {"href": "http://localhost/nodes/03a0fcfa-480a-4d59-a4cf-ebca8ccd5294", "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=03a0fcfa-480a-4d59-a4cf-ebca8ccd5294 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-aaa0cb4f-f049-4f10-8153-ad16500d149d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"node": {"uuid": "03a0fcfa-480a-4d59-a4cf-ebca8ccd5294", "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/03a0fcfa-480a-4d59-a4cf-ebca8ccd5294", "rel": "self"}, {"href": "http://localhost/nodes/03a0fcfa-480a-4d59-a4cf-ebca8ccd5294", "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=03a0fcfa-480a-4d59-a4cf-ebca8ccd5294 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-60ddb451-530f-4bac-818e-de25dbc9b093
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"node": {"uuid": "03a0fcfa-480a-4d59-a4cf-ebca8ccd5294", "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/03a0fcfa-480a-4d59-a4cf-ebca8ccd5294", "rel": "self"}, {"href": "http://localhost/nodes/03a0fcfa-480a-4d59-a4cf-ebca8ccd5294", "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"]}}
{0} ironic.tests.unit.common.test_cinder.TestCinderClient.test__get_cinder_session [0.468797s] ... ok
{2} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_one [0.078103s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_bios_interface [0.224964s] ... 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-2728bdda-1e1a-4b5b-b876-5b6977b04b45
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}"}
{2} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_two [0.076577s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_addresses [0.157329s] ... 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-cee6f4f9-e571-4000-8779-ccfcdaab0785
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"node": {"uuid": "f8442630-04a9-4fda-a934-d1b5279185d5", "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/f8442630-04a9-4fda-a934-d1b5279185d5", "rel": "self"}, {"href": "http://localhost/nodes/f8442630-04a9-4fda-a934-d1b5279185d5", "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"]}}
{2} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_unsupported [0.098346s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_only_uuid [0.153822s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/lookup?node_uuid=aa1ef2a7-43ce-40f8-b6a9-705bce546ba6 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-a5c2da66-820c-4741-ae7e-b4b41c1e1c06
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"node": {"uuid": "aa1ef2a7-43ce-40f8-b6a9-705bce546ba6", "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/aa1ef2a7-43ce-40f8-b6a9-705bce546ba6", "rel": "self"}, {"href": "http://localhost/nodes/aa1ef2a7-43ce-40f8-b6a9-705bce546ba6", "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"]}}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_chassis [0.213012s] ... 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-615cacfd-79a1-4336-84ba-057e09027dbd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_check_exception_IncompatibleInterface [0.080593s] ... ok
{2} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_from_additional_defaults [0.077901s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_uuid [0.091807s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=874086b4-fa44-45e3-82f9-881392ca84e2 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-4a58f8a3-bbfa-414d-9b7b-98e99cfca78f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"node": {"uuid": "874086b4-fa44-45e3-82f9-881392ca84e2", "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/874086b4-fa44-45e3-82f9-881392ca84e2", "rel": "self"}, {"href": "http://localhost/nodes/874086b4-fa44-45e3-82f9-881392ca84e2", "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.common.test_driver_factory.DefaultInterfaceTestCase.test_from_config [0.059445s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_driver [0.165718s] ... 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-15cc7e7d-09ca-43e2-af88-2d64ecd21da7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.common.test_driver_factory.DefaultInterfaceTestCase.test_network_from_additional_defaults_hardware_type [0.047008s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_ignore_malformed_address [0.095852s] ... 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-a26a8d8f-2d6f-4b2a-aecd-3394b1095f4d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"node": {"uuid": "5380917e-80f0-4977-9d7f-dc8a07c0aeba", "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/5380917e-80f0-4977-9d7f-dc8a07c0aeba", "rel": "self"}, {"href": "http://localhost/nodes/5380917e-80f0-4977-9d7f-dc8a07c0aeba", "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.common.test_cinder.TestCinderClient.test_get_cinder_client_with_context [0.524372s] ... ok
{0} ironic.tests.unit.common.test_context.RequestContextTestCase.test_create_context [0.027122s] ... ok
{2} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_duplicated_entry [0.054498s] ... ok
{0} ironic.tests.unit.common.test_context.RequestContextTestCase.test_create_context_with_environ [0.020547s] ... ok
{0} ironic.tests.unit.common.test_context.RequestContextTestCase.test_from_dict [0.019198s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_invalid_input_addresses [0.080515s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/lookup?addresses=meow1 WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-a22fe159-c5e5-4c09-b936-462b4b1613ef
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"At least one of 'addresses' and 'node_uuid' parameters is required\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_empty_entry [0.054082s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_network_interface [0.148982s] ... 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-b039b0e7-0090-4e06-ad6b-4294630ef10f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.common.test_context.RequestContextTestCase.test_from_dict_older_api_server [0.039665s] ... ok
{2} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_init_checks_unsupported [0.051913s] ... ok
{0} ironic.tests.unit.common.test_context.RequestContextTestCase.test_thread_with_context [0.042221s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_invalid_input_node_uuid [0.083738s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/lookup?node_uuid=meow1 WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-69fde3cd-0b68-4123-99a5-d740bcbb73f2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for node_uuid: meow1\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_context.RequestContextTestCase.test_thread_without_context [0.036476s] ... ok
{2} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_load_error_if_driver_enabled [0.059142s] ... ok
{0} ironic.tests.unit.common.test_context.RequestContextTestCase.test_to_dict_get_auth_token_info [0.024479s] ... ok
{0} ironic.tests.unit.common.test_context.RequestContextTestCase.test_to_policy_values [0.019339s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_no_restrict_lookup [0.079072s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=4bc17930-f232-45e9-97dc-2b323394811c WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-c5bec07c-4fd7-4ddc-9ddc-ed2df11ef9ac
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"node": {"uuid": "4bc17930-f232-45e9-97dc-2b323394811c", "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/4bc17930-f232-45e9-97dc-2b323394811c", "rel": "self"}, {"href": "http://localhost/nodes/4bc17930-f232-45e9-97dc-2b323394811c", "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"]}}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_storage_interface [0.156093s] ... 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-6b195f41-af37-4df5-b242-b49b737d3929
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}"}
{2} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_no_driver_load_error_if_driver_disabled [0.065220s] ... ok
{0} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task [0.058688s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_driver_factory.DriverLoadTestCase.test_wrap_in_driver_load_error_if_driver_enabled [0.063505s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_not_found [0.083640s] ... 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-b78b6a1f-eb70-4747-9d83-510e0b88d52a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_driver_factory.NewFactoryTestCase.test_new_driver_factory_unknown_entrypoint [0.052388s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_nothing_provided [0.070466s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/lookup WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-9686ad31-5004-4084-86e9-fd06930025f2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"At least one of 'addresses' and 'node_uuid' parameters is required\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_forbidden_converts_to_imagenotauthed [0.050631s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_lessee [0.215701s] ... 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-5d2f539c-6341-4032-9330-25cef02b9eee
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:26:57.663770+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-38fce5e3-11fb-4b01-b57c-86dad06722ee
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:26:57.663770+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"}]}
{2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_notfound_converts_to_imagenotfound [0.054401s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_old_api_version [0.077222s] ... 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-fda2562e-8f11-4475-95d5-2fc7ffcc0bdb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.common.test_glance_service.TestGlanceImageService.test_download_file_url [0.072769s] ... ok
{0} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_default_is_flat [0.277238s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.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.TestLookup.test_restrict_lookup [0.082698s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=d4b2e587-17cc-4389-8292-b0189ab2a7d7 WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-0b98b7dc-73e0-4494-b4a7-882b7cdaa694
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_no_data [0.052257s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_lessee_old_api_version [0.147105s] ... 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-0455b27f-5be5-4ed5-9de3-908b6a28dc1a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_unknown_network_interface [0.068034s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{0} ironic.tests.unit.common.test_driver_factory.WarnUnsupportedDriversTestCase.test__warn_if_unsupported_with_supported [0.026276s] ... ok
{0} ironic.tests.unit.common.test_driver_factory.WarnUnsupportedDriversTestCase.test__warn_if_unsupported_with_unsupported [0.021638s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create [0.109026s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': 'eb190d7b-06fe-4906-9a1f-f591dbfd3cb2', '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/eb190d7b-06fe-4906-9a1f-f591dbfd3cb2
Openstack-Request-Id: req-29d6a65f-5673-4bc5-a897-026d53cad17c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "eb190d7b-06fe-4906-9a1f-f591dbfd3cb2", "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/eb190d7b-06fe-4906-9a1f-f591dbfd3cb2", "rel": "self"}, {"href": "http://localhost/runbooks/eb190d7b-06fe-4906-9a1f-f591dbfd3cb2", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
GET /v1/runbooks/eb190d7b-06fe-4906-9a1f-f591dbfd3cb2 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-ac5b53bd-b837-49f1-8f76-260a87a9ed19
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "eb190d7b-06fe-4906-9a1f-f591dbfd3cb2", "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/eb190d7b-06fe-4906-9a1f-f591dbfd3cb2", "rel": "self"}, {"href": "http://localhost/runbooks/eb190d7b-06fe-4906-9a1f-f591dbfd3cb2", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_name_empty_invalid [0.087995s] ... 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-307c2c8c-6d90-4db4-bb72-1c25a00430c6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.common.test_exception.TestIronicException.test___init___invalid_kwarg [0.030609s] ... ok
{0} ironic.tests.unit.common.test_exception.TestIronicException.test___init___invalid_kwarg_reraise [0.040267s] ... ok
{0} ironic.tests.unit.common.test_exception.TestIronicException.test___init___json_serializable [0.021568s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_complex_step_args [0.084585s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': '21b5bbf5-0d91-4da2-a396-757010fbc760', '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/21b5bbf5-0d91-4da2-a396-757010fbc760
Openstack-Request-Id: req-4c69cf00-a7f9-4ea4-ab49-19e772fd498b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "21b5bbf5-0d91-4da2-a396-757010fbc760", "created_at": "2025-05-30T17:26:58.028531+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/21b5bbf5-0d91-4da2-a396-757010fbc760", "rel": "self"}, {"href": "http://localhost/runbooks/21b5bbf5-0d91-4da2-a396-757010fbc760", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"foo": [{"bar": "baz"}]}, "order": 1}]}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_name_empty_not_acceptable [0.085420s] ... 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-3e40e6f5-7329-41a7-bd60-a0fdd6005c5a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_exception.TestIronicException.test___init___string_serializable [0.024501s] ... ok
{0} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_is_glance_image [0.020401s] ... ok
{0} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_fail [0.054527s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_doesnt_contain_id [0.105886s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': '6ba9f447-536a-42ef-a415-3795f707c018', '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/6ba9f447-536a-42ef-a415-3795f707c018
Openstack-Request-Id: req-9f6d4651-c867-47d4-b974-ed10ed2d6cb1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6ba9f447-536a-42ef-a415-3795f707c018", "created_at": "2025-05-30T17:26:58.121122+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/6ba9f447-536a-42ef-a415-3795f707c018", "rel": "self"}, {"href": "http://localhost/runbooks/6ba9f447-536a-42ef-a415-3795f707c018", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
GET /v1/runbooks/6ba9f447-536a-42ef-a415-3795f707c018 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-5c965a72-929e-4ca3-a62c-d303334b7ca0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6ba9f447-536a-42ef-a415-3795f707c018", "created_at": "2025-05-30T17:26:58.121122+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/6ba9f447-536a-42ef-a415-3795f707c018", "rel": "self"}, {"href": "http://localhost/runbooks/6ba9f447-536a-42ef-a415-3795f707c018", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
{0} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_glance [0.051820s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_network_interface [0.160974s] ... 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-155e1559-c4e1-4da9-bf80-c2e63092c87c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:26:58.144819+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-7b885a56-744c-4af8-aa35-fc6142ec56d4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:26:58.144819+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"}]}
{0} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_glance_fail [0.053643s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_error [0.083644s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': '33d16962-dad4-4af6-a082-20d3bfb59c46', '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-1012a364-7d47-4bcb-af56-ad270f7f3327
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_uuid [0.048303s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_generate_uuid [0.100766s] ... 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/ee7e4177-fddc-4b9a-ac71-33461b80007a
Openstack-Request-Id: req-8d4475c1-78c6-4f7a-ac87-e98828bffb04
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "ee7e4177-fddc-4b9a-ac71-33461b80007a", "created_at": "2025-05-30T17:26:58.306618+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/ee7e4177-fddc-4b9a-ac71-33461b80007a", "rel": "self"}, {"href": "http://localhost/runbooks/ee7e4177-fddc-4b9a-ac71-33461b80007a", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
GET /v1/runbooks/ee7e4177-fddc-4b9a-ac71-33461b80007a WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-773a8c0a-be9b-43b1-a98d-8aec959491f0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "ee7e4177-fddc-4b9a-ac71-33461b80007a", "created_at": "2025-05-30T17:26:58.306618+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/ee7e4177-fddc-4b9a-ac71-33461b80007a", "rel": "self"}, {"href": "http://localhost/runbooks/ee7e4177-fddc-4b9a-ac71-33461b80007a", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
None
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_network_interface_old_api_version [0.147377s] ... 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-29ff9b9e-3eed-4408-8bbc-255e5edbe1eb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_automatic_retry [0.088554s] ... 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.controllers.v1.test_runbook.TestPost.test_create_invalid_api_version [0.067652s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': '25767464-8de7-4d21-ba2d-9fd17eddb963', '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\"}"}
{0} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_driver_not_found [0.093739s] ... 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.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_hardware_type_success [0.080267s] ... 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.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_hardware_type_success_groups [0.085026s] ... 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.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_reset_interval [0.064607s] ... 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.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_reset_interval_not_happen_sqlite [0.065540s] ... 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.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_uncached [0.052599s] ... ok
{0} ironic.tests.unit.common.test_image_publisher.SwiftPublisherTestCase.test__append_filename_param_with_filename [0.056458s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_chassis_uuid [0.538948s] ... 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-17b48fc7-dd30-42ba-8218-8a532e4820de
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:58.875625+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"}]}
{2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_with_retries [1.056939s] ... ok
{0} ironic.tests.unit.common.test_image_publisher.SwiftPublisherTestCase.test__append_filename_param_with_qs [0.068227s] ... ok
{2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_makes_datetimes [0.049621s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_invalid_field_empty_steps [0.569093s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': '52a46c42-ea9d-432d-a4b3-3ee5af75af60', 'steps': [], 'disable_ramdisk': False, 'extra': {}, 'public': False, 'owner': None} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-6d4f3982-f0df-4109-8306-e6efa42c7378
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for runbook: [] is too short\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_image_publisher.SwiftPublisherTestCase.test__append_filename_param_without_qs [0.076176s] ... ok
{2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_passes_through_to_client [0.081579s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_invalid_field_extra [0.122179s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': '8d342bf8-1eda-4fe6-b589-c4ebd1813066', '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-2fabb188-9418-48bf-8e41-95cfcba761de
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for runbook: 1 is not of type 'object', 'null'\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_raises_when_image_not_active [0.075065s] ... ok
{0} ironic.tests.unit.common.test_image_publisher.SwiftPublisherTestCase.test_publish [0.096513s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_default_resource_class [0.280095s] ... 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-0668bedf-0d29-45d3-9179-0a042870b02e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:59.120476+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-852677c2-5c6b-462b-9cff-35fb5aa5f38e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:26:59.120476+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"}]}
{2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_raises_when_no_authtoken_in_the_context [0.056087s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_invalid_field_foo [0.120628s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': 'a8aa113f-5a90-47a4-9def-1ed0ef736d35', '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-2012a0d8-cf33-497d-8eb3-31690058cd71
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for runbook: Additional properties are not allowed ('foo' was unexpected)\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_image_publisher.SwiftPublisherTestCase.test_unpublish [0.096627s] ... ok
{2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_config [0.076887s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_invalid_field_name [0.122782s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/runbooks WITH {'name': 1, 'uuid': '19f57fd6-8048-4d42-b989-6541e2e51159', '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-eac6f722-825c-4135-a244-45eb7457709a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for runbook: 1 is not of type 'string'\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_endpoint_less_than_download_delay [0.066129s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_mandatory_field_driver [0.207062s] ... 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-465ac1af-0d36-41a4-887e-82c3bd82de88
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.common.test_inspection_rule.TestInterpolation.test_variable_interpolation [0.159542s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_multiple_containers [0.071634s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_invalid_field_name_none [0.114444s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/runbooks WITH {'name': None, 'uuid': 'b9fabe1e-f742-43c7-bc03-835d9f5605ff', '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-9ed71e95-a0b5-4d1c-a3bd-85fcf2b8a4e7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for runbook: None is not of type 'string'\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_no_key_no_exception [0.066567s] ... ok
{0} ironic.tests.unit.common.test_inspection_rule.TestOperators.test_is_true_false_operators_edge_cases [0.139993s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url [0.090280s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_invalid_field_steps [0.124344s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': 'a3819c5a-ab63-4d9e-ab13-31305fd17f99', 'steps': {}, 'disable_ramdisk': False, 'extra': {}, 'public': False, 'owner': None} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-b3396e3e-c90e-4733-b7c5-4533d47f710c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for runbook: {} is not of type 'array'\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_owner [0.281528s] ... 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-a48852b7-d99b-4bb4-95fc-96b120b30cfe
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:26:59.594596+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-54a138ac-9fd0-4259-b639-7a2ab90b1850
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:26:59.594596+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"}]}
{2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_account_detected [0.099007s] ... ok
{0} ironic.tests.unit.common.test_inspection_rule.TestOperators.test_oneofoperator_edge_cases [0.144717s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.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_runbook.TestPost.test_create_invalid_step_field_args1 [0.111097s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': '685ed3c0-1e86-4d8c-8a18-c578b558083c', '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-99f3908a-f11d-40d4-bceb-e3d1b364e5c4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for runbook: 'not a dict' is not of type 'object'\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_account_detected_with_prefix [0.098379s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_invalid_step_field_args2 [0.101198s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': '1d771233-d105-45c1-9f62-47db6103492d', '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-dc8416d5-f591-4e35-a5f2-b88aac7884e7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for runbook: [] is not of type 'object'\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_inspection_rule.TestOperators.test_operator_exceptions [0.179631s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestPost.test_create_node_owner_old_api_version [0.233667s] ... 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-47a62ae1-ee64-43c2-88c1-3d33e4295200
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_account_detected_with_prefix_underscore [0.131041s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_invalid_step_field_foo [0.078467s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': '6872ba1a-52f4-451d-a664-a7a9b5e17cef', '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-92164f9c-4473-4c9b-a02e-91e022d9f22e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for runbook: Additional properties are not allowed ('foo' was unexpected)\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_invalid_step_field_interface1 [0.072751s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': '0cca1be3-b22c-4f20-b3f8-b064ef8dd691', '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-4431e011-2f54-4a7d-9ed1-38fa1bd25a10
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for runbook: [3] is not of type 'string'\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_endpoint_detected [0.124126s] ... ok
{0} ironic.tests.unit.common.test_inspection_rule.TestOperators.test_operator_with_loop [0.193993s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.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_runbook.TestPost.test_create_invalid_step_field_interface2 [0.072432s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': '5140cab2-2046-42e1-b5ae-1936cb5956ec', '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-ad3bdd6c-2cb0-40f3-9195-54a16cc30509
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_endpoint_with_suffix [0.112570s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_invalid_step_field_negative_order [0.073737s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': '56307187-6f3d-47f7-bcc5-8e77389dcd47', '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-560f16e2-042b-42a1-bd48-b2009399e8fa
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for runbook: -1 is less than the minimum of 0\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_owner_recorded_project_scope [0.313830s] ... 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-7702b491-3efd-4b03-8812-e6c4ddeeae2e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:27:00.159366+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-eb64712c-448a-40aa-b22d-a6cf3528191c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:27:00.159366+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"}]}
{2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_invalid_image_info [0.081956s] ... ok
{0} ironic.tests.unit.common.test_inspection_rule.TestOperators.test_rule_operators [0.146421s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.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_runbook.TestPost.test_create_invalid_step_field_order [0.082963s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': '0c5a347f-0099-4d61-9e38-708e896323c5', '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-182c27a1-76d3-4395-97e1-e4159ea289ce
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for runbook: 'not a number' does not match '^[0-9]+$'\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_key_detected [0.101004s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_invalid_step_field_step [0.085026s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': '0aa733c6-20f7-4015-b04f-00bd8667fc9e', '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-bb010dd7-331f-45f8-99f1-6e319b6251d1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for runbook: 1 is not of type 'string'\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_empty [0.155498s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_multiple_containers [0.089594s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_long_name [0.079473s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/runbooks WITH {'name': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'uuid': '7afa87cc-6c46-48a4-968f-7c702188c1ea', '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/7afa87cc-6c46-48a4-968f-7c702188c1ea
Openstack-Request-Id: req-c409f57f-8fdb-41db-8908-6ca6ee14a7cc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "7afa87cc-6c46-48a4-968f-7c702188c1ea", "created_at": "2025-05-30T17:27:00.421225+00:00", "updated_at": null, "name": "CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/7afa87cc-6c46-48a4-968f-7c702188c1ea", "rel": "self"}, {"href": "http://localhost/runbooks/7afa87cc-6c46-48a4-968f-7c702188c1ea", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
{2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_no_key_detected [0.078659s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_owner_system_scope [0.281240s] ... 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-65c75193-56f1-4e2a-8ded-f257fe7e64b8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:27:00.432307+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-0ff6b6bd-8cd2-4d4e-98b8-64f4105e9f52
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:27:00.432307+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"}]}
{3} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_name_invalid_too_long [0.090054s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/runbooks WITH {'name': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'uuid': 'd259c11b-99ef-4ded-b2bb-1004c5e73df0', '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-98c90f2a-3aa8-427e-bf61-d1bbc120bbe8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for runbook: 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' is too long\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_url_bad_no_info [0.075801s] ... ok
{0} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_exclude_port [0.168709s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.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_runbook.TestPost.test_create_no_mandatory_field_name [0.093827s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/runbooks WITH {'uuid': '43767832-ec8a-4282-a7fb-a10445c6eea9', '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-f3846c20-d3c3-4edc-9e82-501f378101c3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for runbook: 'name' is a required property\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_glance_service.TestIsImageAvailable.test_allow_access_via_auth_token_enabled [0.069296s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_protected_not_allowed [0.192132s] ... 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-8992f076-0f2a-4212-9d4f-e2d65164a7a0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{3} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_no_mandatory_field_steps [0.081553s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': 'f5f8793f-41d9-4905-8bc6-7be6b5819608', 'disable_ramdisk': False, 'extra': {}, 'public': False, 'owner': None} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-80e818f4-9bab-4bb4-aa97-8da2f57648c2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for runbook: 'steps' is a required property\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_glance_service.TestIsImageAvailable.test_allow_admin_if_config_enabled [0.072734s] ... ok
{0} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_exclude_port_no_id [0.179630s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.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_runbook.TestPost.test_create_no_mandatory_step_field_interface [0.084191s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': '1da5c416-d9f2-451c-a952-b93108c9b8db', '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-26af1886-3df0-4710-9104-a79292645a3e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for runbook: 'interface' is a required property\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_glance_service.TestIsImageAvailable.test_allow_community_image [0.082866s] ... ok
{2} ironic.tests.unit.common.test_glance_service.TestIsImageAvailable.test_allow_private_image_owned_by_conductor [0.048632s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_no_mandatory_step_field_order [0.084489s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': 'e71f8337-886e-4f77-a795-3ada8ad4d32b', '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-99f5b49b-5fc1-410f-8a54-93e197adf0de
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for runbook: 'order' is a required property\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_glance_service.TestIsImageAvailable.test_allow_public_image [0.078762s] ... ok
{0} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_one_port [0.179744s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.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_runbook.TestPost.test_create_no_mandatory_step_field_step [0.090093s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': '4b69ee37-dda6-4f0b-a914-f66524e11e20', '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-f6fd4d26-e25d-4ab5-91c5-4722998c2c4c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for runbook: 'step' is a required property\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_public_runbook_project_scope_fails [0.108860s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': '59b6bf23-2a5e-4ae5-94d2-894d0031cb1f', '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-771d8dc7-c3f6-4304-a7ac-77967be27c2c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.common.test_network.GetPhysnetsByPortgroupID.test_two_ports [0.210921s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.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_runbook.TestPost.test_create_runbook_owner_project_scope_fails [0.102437s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': 'e5eb7e1c-cdc1-4980-9065-50de84052421', '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-f9f3a4ef-0049-4efa-98c8-9a48b7cf981f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot create a runbook as a project scoped admin with an owner other than your own project.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_reserved_name [0.545753s] ... 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-04a3a50f-b564-4574-a607-e2390c4385d3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-5cd58ec8-a126-432f-bc1e-9cc200c166c9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-c1c80447-dfb9-41ea-99d6-ffd3973babc6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-8a5843dc-c90b-432b-9cbd-f539356b10f5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-7974df4a-8c57-471c-b823-4cecc6b4b832
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-40fb863c-6045-488b-b8ba-2ddbc8407ef6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{3} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_runbook_owner_system_scope [0.106819s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': '878aaede-3a57-48ce-bb8f-c0f1e6eb6395', '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/878aaede-3a57-48ce-bb8f-c0f1e6eb6395
Openstack-Request-Id: req-cf985a09-6e85-4d07-8818-4f0b568dba62
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "878aaede-3a57-48ce-bb8f-c0f1e6eb6395", "created_at": "2025-05-30T17:27:01.252944+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": "catsay", "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/878aaede-3a57-48ce-bb8f-c0f1e6eb6395", "rel": "self"}, {"href": "http://localhost/runbooks/878aaede-3a57-48ce-bb8f-c0f1e6eb6395", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
GET /v1/runbooks/878aaede-3a57-48ce-bb8f-c0f1e6eb6395 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-04b6b48e-1edf-4797-ab90-731d7b3688cb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "878aaede-3a57-48ce-bb8f-c0f1e6eb6395", "created_at": "2025-05-30T17:27:01.252944+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": "catsay", "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/878aaede-3a57-48ce-bb8f-c0f1e6eb6395", "rel": "self"}, {"href": "http://localhost/runbooks/878aaede-3a57-48ce-bb8f-c0f1e6eb6395", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
{0} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_two_ports_inconsistent [0.212552s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.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_runbook.TestPost.test_create_runbook_project_scope [0.097040s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': '74bb29b5-42b2-460d-b97b-baee9dd85355', '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/74bb29b5-42b2-460d-b97b-baee9dd85355
Openstack-Request-Id: req-998a90f5-a7b1-47af-bc8d-313b521f78d4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "74bb29b5-42b2-460d-b97b-baee9dd85355", "created_at": "2025-05-30T17:27:01.382982+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": "projectX", "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/74bb29b5-42b2-460d-b97b-baee9dd85355", "rel": "self"}, {"href": "http://localhost/runbooks/74bb29b5-42b2-460d-b97b-baee9dd85355", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
GET /v1/runbooks/74bb29b5-42b2-460d-b97b-baee9dd85355 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-c76885f1-1a7c-43ed-ae51-7b96c6ddb46a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "74bb29b5-42b2-460d-b97b-baee9dd85355", "created_at": "2025-05-30T17:27:01.382982+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": "projectX", "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/74bb29b5-42b2-460d-b97b-baee9dd85355", "rel": "self"}, {"href": "http://localhost/runbooks/74bb29b5-42b2-460d-b97b-baee9dd85355", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_resource_class [0.224882s] ... 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-be1253cb-5279-45c5-92a4-911999d51968
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:27:01.421728+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-8a46df0d-58ce-4100-a8fc-0de50cbe924a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:27:01.421728+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"}]}
{2} ironic.tests.unit.common.test_glance_service.TestIsImageAvailable.test_allow_shared_image_if_member [0.579970s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_runbook_system_scope [0.111909s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': '28bdda7d-e7cd-4a14-b642-f7dfbb82e7a8', '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/28bdda7d-e7cd-4a14-b642-f7dfbb82e7a8
Openstack-Request-Id: req-d466e16a-8bca-47fd-b43d-4fbb420d1830
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "28bdda7d-e7cd-4a14-b642-f7dfbb82e7a8", "created_at": "2025-05-30T17:27:01.498431+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/28bdda7d-e7cd-4a14-b642-f7dfbb82e7a8", "rel": "self"}, {"href": "http://localhost/runbooks/28bdda7d-e7cd-4a14-b642-f7dfbb82e7a8", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
GET /v1/runbooks/28bdda7d-e7cd-4a14-b642-f7dfbb82e7a8 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-2e2d8883-8f31-4800-aaa5-480b37d97d4d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "28bdda7d-e7cd-4a14-b642-f7dfbb82e7a8", "created_at": "2025-05-30T17:27:01.498431+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/28bdda7d-e7cd-4a14-b642-f7dfbb82e7a8", "rel": "self"}, {"href": "http://localhost/runbooks/28bdda7d-e7cd-4a14-b642-f7dfbb82e7a8", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
{0} ironic.tests.unit.common.test_network.GetPortgroupByIdTestCase.test_portgroup_by_id [0.130825s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_glance_service.TestIsImageAvailable.test_deny_private_image_different_owner [0.049866s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_resource_class_old_api_version [0.131784s] ... 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-ccff3c25-bbfc-45bd-bc0d-9c7eb5f42204
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.TestPost.test_create_standard_trait_name [0.096935s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/runbooks WITH {'name': 'HW_CPU_X86_VMX', 'uuid': '4bafd832-0dcf-408d-9b03-2bb04958f9ee', '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/4bafd832-0dcf-408d-9b03-2bb04958f9ee
Openstack-Request-Id: req-a800240f-76b1-44ae-8025-bff9d5cd3470
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "4bafd832-0dcf-408d-9b03-2bb04958f9ee", "created_at": "2025-05-30T17:27:01.613151+00:00", "updated_at": null, "name": "HW_CPU_X86_VMX", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/4bafd832-0dcf-408d-9b03-2bb04958f9ee", "rel": "self"}, {"href": "http://localhost/runbooks/4bafd832-0dcf-408d-9b03-2bb04958f9ee", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
{2} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_automatic_retry [0.107076s] ... 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.common.test_network.GetPortgroupByIdTestCase.test_portgroup_by_id_no_such_portgroup [0.119568s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{0} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_duplicate [0.039239s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_step_string_order [0.095600s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': '5a1b61e7-d296-4ca9-8a8f-577a51c8f46a', '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/5a1b61e7-d296-4ca9-8a8f-577a51c8f46a
Openstack-Request-Id: req-558a359c-ef52-49de-9af6-a63252951b80
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "5a1b61e7-d296-4ca9-8a8f-577a51c8f46a", "created_at": "2025-05-30T17:27:01.715431+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/5a1b61e7-d296-4ca9-8a8f-577a51c8f46a", "rel": "self"}, {"href": "http://localhost/runbooks/5a1b61e7-d296-4ca9-8a8f-577a51c8f46a", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": "1"}]}
{2} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_driver_not_found [0.087294s] ... 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.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_failure [0.042324s] ... ok
{0} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_missing [0.032055s] ... ok
{2} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_hardware_type_success [0.076395s] ... 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.controllers.v1.test_runbook.TestPost.test_create_steps_invalid_duplicate [0.100162s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': 'd04c8114-da47-4fa2-b7c4-2e649869f502', '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-f2eb23ad-1ac4-463f-be08-6c1eb1b53614
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_node.TestPost.test_create_node_specify_conductor_group [0.223042s] ... 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-9ff6a4a4-ecd0-48f1-b2eb-5141bcdd7666
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:27:01.764880+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-0adcf86a-e640-4765-a653-ae37dbb04e2d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:27:01.764880+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"}]}
{0} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_name [0.042903s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve [0.052322s] ... ok
{0} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_uuid [0.056495s] ... ok
{2} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_hardware_type_success_groups [0.097806s] ... 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.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve_no_port [0.066716s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_conductor_group_bad_version [0.161592s] ... 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-f69a4baf-6c11-43de-99e6-522922b89f92
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test__add_ip_addresses_for_ipv6_stateful [0.090915s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve_no_port_policy_forbidden [0.044641s] ... ok
{2} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_reset_interval [0.086111s] ... 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.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve_policy_notfound [0.050529s] ... ok
{2} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_reset_interval_not_happen_sqlite [0.071239s] ... 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.common.test_neutron.TestNeutronNetworkActions.test__uncidr_ipv4 [0.080512s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_fields [0.059773s] ... ok
{2} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_uncached [0.054589s] ... ok
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test__uncidr_ipv6 [0.057308s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_links [0.040306s] ... ok
{2} ironic.tests.unit.common.test_image_publisher.LocalPublisherTestCase.test_publish_external_ip [0.067262s] ... ok
{3} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_no_args [0.051040s] ... ok
{2} ironic.tests.unit.common.test_image_publisher.LocalPublisherTestCase.test_publish_external_ip_node_override [0.071660s] ... ok
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_all_ports_fail [0.135640s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.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_utils.TestObjectToDict.test_no_base_attributes [0.082885s] ... ok
{2} ironic.tests.unit.common.test_image_publisher.LocalPublisherTestCase.test_publish_local_copy [0.055994s] ... ok
{2} ironic.tests.unit.common.test_image_publisher.LocalPublisherTestCase.test_publish_local_link [0.073225s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_1_values ... SKIPPED: For value storage
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_create_some_ports_fail [0.168881s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_publisher.LocalPublisherTestCase.test_publish_local_link_no_restorecon [0.086896s] ... ok
{2} ironic.tests.unit.common.test_image_publisher.LocalPublisherTestCase.test_unpublish_local [0.107374s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_2_unauthenticated_user_cannot_get_node [0.165086s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/a9c01d81-1111-4e44-9a24-d0ce881f7109 WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-ba6c0bdd-3bb5-4b04-a48a-ee8cceaa3eb6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node a9c01d81-1111-4e44-9a24-d0ce881f7109 could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_no_port [0.206545s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_copy [0.108847s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_3_project_admin_can_get_node [0.195317s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/00e2404a-2797-4635-af90-22d558de2f71 WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-317efeb8-e835-446e-8391-704a42e8b400
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 00e2404a-2797-4635-af90-22d558de2f71 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy_fail [0.115227s] ... ok
{2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_hard_link [0.065776s] ... ok
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_no_pxe_enabled_ports [0.216934s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_4_project_member_cannot_get_node [0.135669s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/b314a9b4-2c59-4042-97e0-437710a584b4 WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-9a639e2a-61e8-42ae-9728-0e09839863ec
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node b314a9b4-2c59-4042-97e0-437710a584b4 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_symlink [0.068186s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_5_public_api [0.071576s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET / WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-21d999b4-7f93-4c3f-8d1f-5656a3bf9ac7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.99"}, "versions": [{"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.99"}]}
{2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_show [0.048486s] ... ok
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network [0.158581s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_validate_href [0.049613s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_6_public_api_v1 [0.091101s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-8ff754e7-a47c-4369-9578-f1d9c112152a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.99"}, "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.common.test_image_service.FileImageServiceTestCase.test_validate_href_blocked_path [0.043319s] ... ok
{2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href_empty_allowlist [0.046056s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_7_public_api_v1_slash [0.096974s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-b930b1ab-be1d-4dab-b733-0068e2e36093
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.99"}, "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.common.test_image_service.FileImageServiceTestCase.test_validate_href_in_allowlist [0.042549s] ... ok
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_all_ports [0.180605s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestPost.test_create_node_specify_interfaces [1.228835s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/nodes WITH {'uuid': 'f3ae886e-86a3-4d11-8dc0-22ecf5a04b66', '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/f3ae886e-86a3-4d11-8dc0-22ecf5a04b66
Openstack-Request-Id: req-61bb65ce-10a3-412f-afb8-11bfc045ce49
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.40
{"uuid": "f3ae886e-86a3-4d11-8dc0-22ecf5a04b66", "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/f3ae886e-86a3-4d11-8dc0-22ecf5a04b66", "rel": "self"}, {"href": "http://localhost/nodes/f3ae886e-86a3-4d11-8dc0-22ecf5a04b66", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/f3ae886e-86a3-4d11-8dc0-22ecf5a04b66/ports", "rel": "self"}, {"href": "http://localhost/nodes/f3ae886e-86a3-4d11-8dc0-22ecf5a04b66/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/f3ae886e-86a3-4d11-8dc0-22ecf5a04b66/states", "rel": "self"}, {"href": "http://localhost/nodes/f3ae886e-86a3-4d11-8dc0-22ecf5a04b66/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/f3ae886e-86a3-4d11-8dc0-22ecf5a04b66/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/f3ae886e-86a3-4d11-8dc0-22ecf5a04b66/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/f3ae886e-86a3-4d11-8dc0-22ecf5a04b66/volume", "rel": "self"}, {"href": "http://localhost/nodes/f3ae886e-86a3-4d11-8dc0-22ecf5a04b66/volume", "rel": "bookmark"}]}
GET /v1/nodes/f3ae886e-86a3-4d11-8dc0-22ecf5a04b66 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-f12d6601-fdee-4758-924f-707cb258d2f6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.40
{"uuid": "f3ae886e-86a3-4d11-8dc0-22ecf5a04b66", "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/f3ae886e-86a3-4d11-8dc0-22ecf5a04b66", "rel": "self"}, {"href": "http://localhost/nodes/f3ae886e-86a3-4d11-8dc0-22ecf5a04b66", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/f3ae886e-86a3-4d11-8dc0-22ecf5a04b66/ports", "rel": "self"}, {"href": "http://localhost/nodes/f3ae886e-86a3-4d11-8dc0-22ecf5a04b66/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/f3ae886e-86a3-4d11-8dc0-22ecf5a04b66/states", "rel": "self"}, {"href": "http://localhost/nodes/f3ae886e-86a3-4d11-8dc0-22ecf5a04b66/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/f3ae886e-86a3-4d11-8dc0-22ecf5a04b66/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/f3ae886e-86a3-4d11-8dc0-22ecf5a04b66/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/f3ae886e-86a3-4d11-8dc0-22ecf5a04b66/volume", "rel": "self"}, {"href": "http://localhost/nodes/f3ae886e-86a3-4d11-8dc0-22ecf5a04b66/volume", "rel": "bookmark"}]}
POST /v1/nodes WITH {'uuid': '236e99ff-2269-4095-a046-af564a2f5204', '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/236e99ff-2269-4095-a046-af564a2f5204
Openstack-Request-Id: req-0560139b-e768-4f3b-b28b-bb968dd353df
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.40
{"uuid": "236e99ff-2269-4095-a046-af564a2f5204", "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/236e99ff-2269-4095-a046-af564a2f5204", "rel": "self"}, {"href": "http://localhost/nodes/236e99ff-2269-4095-a046-af564a2f5204", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/236e99ff-2269-4095-a046-af564a2f5204/ports", "rel": "self"}, {"href": "http://localhost/nodes/236e99ff-2269-4095-a046-
    af564a2f5204/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/236e99ff-2269-4095-a046-af564a2f5204/states", "rel": "self"}, {"href": "http://localhost/nodes/236e99ff-2269-4095-a046-af564a2f5204/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/236e99ff-2269-4095-a046-af564a2f5204/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/236e99ff-2269-4095-a046-af564a2f5204/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/236e99ff-2269-4095-a046-af564a2f5204/volume", "rel": "self"}, {"href": "http://localhost/nodes/236e99ff-2269-4095-a046-af564a2f5204/volume", "rel": "bookmark"}]}
GET /v1/nodes/236e99ff-2269-4095-a046-af564a2f5204 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-7a52730a-aa24-42d4-b0a7-3e6fff34f6c5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.40
{"uuid": "236e99ff-2269-4095-a046-af564a2f5204", "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/236e99ff-2269-4095-a046-af564a2f5204", "rel": "self"}, {"href": "http://localhost/nodes/236e99ff-2269-4095-a046-af564a2f5204", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/236e99ff-2269-4095-a046-af564a2f5204/ports", "rel": "self"}, {"href": "http://localhost/nodes/236e99ff-2269-4095-a046-af564a2f5204/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/236e99ff-2269-4095-a046-af564a2f5204/states", "rel": "self"}, {"href": "http://localhost/nodes/236e99ff-2269-4095-a046-af564a2f5204/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/236e99ff-2269-4095-a046-af564a2f5204/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/236e99ff-2269-4095-a046-af564a2f5204/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/236e99ff-2269-4095-a046-af564a2f5204/volume", "rel": "self"}, {"href": "http://localhost/nodes/236e99ff-2269-4095-a046-af564a2f5204/volume", "rel": "bookmark"}]}
POST /v1/nodes WITH {'uuid': 'cb580880-ff78-4ea4-b1cb-13c0d6610c42', '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/cb580880-ff78-4ea4-b1cb-13c0d6610c42
Openstack-Request-Id: req-6aec304e-c2e2-4cb8-a7d4-98eca991c0de
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openst
    ack-Ironic-Api-Version: 1.40
{"uuid": "cb580880-ff78-4ea4-b1cb-13c0d6610c42", "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/cb580880-ff78-4ea4-b1cb-13c0d6610c42", "rel": "self"}, {"href": "http://localhost/nodes/cb580880-ff78-4ea4-b1cb-13c0d6610c42", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/cb580880-ff78-4ea4-b1cb-13c0d6610c42/ports", "rel": "self"}, {"href": "http://localhost/nodes/cb580880-ff78-4ea4-b1cb-13c0d6610c42/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/cb580880-ff78-4ea4-b1cb-13c0d6610c42/states", "rel": "self"}, {"href": "http://localhost/nodes/cb580880-ff78-4ea4-b1cb-13c0d6610c42/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/cb580880-ff78-4ea4-b1cb-13c0d6610c42/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/cb580880-ff78-4ea4-b1cb-13c0d6610c42/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/cb580880-ff78-4ea4-b1cb-13c0d6610c42/volume", "rel": "self"}, {"href": "http://localhost/nodes/cb580880-ff78-4ea4-b1cb-13c0d6610c42/volume", "rel": "bookmark"}]}
GET /v1/nodes/cb580880-ff78-4ea4-b1cb-13c0d6610c42 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-c0d86400-68da-43c4-bf6d-ad2c0f1bb665
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.40
{"uuid": "cb580880-ff78-4ea4-b1cb-13c0d6610c42", "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/cb580880-ff78-4ea4-b1cb-13c0d6610c42", "rel": "self"}, {"href": "http://localhost/nodes/cb580880-ff78-4ea4-b1cb-13c0d6610c42", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/
    nodes/cb580880-ff78-4ea4-b1cb-13c0d6610c42/ports", "rel": "self"}, {"href": "http://localhost/nodes/cb580880-ff78-4ea4-b1cb-13c0d6610c42/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/cb580880-ff78-4ea4-b1cb-13c0d6610c42/states", "rel": "self"}, {"href": "http://localhost/nodes/cb580880-ff78-4ea4-b1cb-13c0d6610c42/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/cb580880-ff78-4ea4-b1cb-13c0d6610c42/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/cb580880-ff78-4ea4-b1cb-13c0d6610c42/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/cb580880-ff78-4ea4-b1cb-13c0d6610c42/volume", "rel": "self"}, {"href": "http://localhost/nodes/cb580880-ff78-4ea4-b1cb-13c0d6610c42/volume", "rel": "bookmark"}]}
POST /v1/nodes WITH {'uuid': 'e32c720b-9002-4e85-9e03-d744dfe50b44', '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/e32c720b-9002-4e85-9e03-d744dfe50b44
Openstack-Request-Id: req-9390242f-1cc4-4483-8e7e-ed6e0e3915ec
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.40
{"uuid": "e32c720b-9002-4e85-9e03-d744dfe50b44", "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/e32c720b-9002-4e85-9e03-d744dfe50b44", "rel": "self"}, {"href": "http://localhost/nodes/e32c720b-9002-4e85-9e03-d744dfe50b44", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/e32c720b-9002-4e85-9e03-d744dfe50b44/ports", "rel": "self"}, {"href": "http://localhost/nodes/e32c720b-9002-4e85-9e03-d744dfe50b44/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e32c720b-9002-4e85-9e03-d744dfe50b44/states", "rel": "self"}, {"href": "http://localhost/nodes/e32c720b-9002-4e85-9e03-d744dfe50b44/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e32c720b-9002-4e85-9e03-d744dfe50b44/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e32c720b-9002-4e85-9e03-d744dfe50b44/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e32c720b-9002-4e85-9e03-d744dfe50b44/volume", "rel": "self"}, {"href": "http://localhost/nodes/e32c720b-9002-4e85-9e03-d744dfe50b44/volume", "rel": "bookmark"}]}
GET /v1/nodes/e32c720b-9002-4e85-9e03-d744dfe50b44 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-6550c294-
    9d52-4b7f-8f35-8e2b4639c3db
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.40
{"uuid": "e32c720b-9002-4e85-9e03-d744dfe50b44", "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/e32c720b-9002-4e85-9e03-d744dfe50b44", "rel": "self"}, {"href": "http://localhost/nodes/e32c720b-9002-4e85-9e03-d744dfe50b44", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/e32c720b-9002-4e85-9e03-d744dfe50b44/ports", "rel": "self"}, {"href": "http://localhost/nodes/e32c720b-9002-4e85-9e03-d744dfe50b44/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e32c720b-9002-4e85-9e03-d744dfe50b44/states", "rel": "self"}, {"href": "http://localhost/nodes/e32c720b-9002-4e85-9e03-d744dfe50b44/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e32c720b-9002-4e85-9e03-d744dfe50b44/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e32c720b-9002-4e85-9e03-d744dfe50b44/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e32c720b-9002-4e85-9e03-d744dfe50b44/volume", "rel": "self"}, {"href": "http://localhost/nodes/e32c720b-9002-4e85-9e03-d744dfe50b44/volume", "rel": "bookmark"}]}
POST /v1/nodes WITH {'uuid': 'e159f380-6b75-457b-89d1-5db8a925b9e8', '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/e159f380-6b75-457b-89d1-5db8a925b9e8
Openstack-Request-Id: req-332edb7d-e824-43d7-8400-8bf5f3859eed
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.40
{"uuid": "e159f380-6b75-457b-89d1-5db8a925b9e8", "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/e159f380-6b75-457b-89d1-5db8a925b9e8", "rel": "self"}, {"href": "http://localhost/nodes/e159f380-6b75-457b-89d1-5db8a925b9e8", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/e159f380-6b75-457b-89d1-5db8a925b9e8/ports", "rel": "self"}, {"href": "http://localhost/nodes/e159f380-6b75-457b-89d1-5db8a925b9e8/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e159f380-6b75-457b-89d1-5db8a925b9e8/states", "rel": "self"}, {"href": "http://localhost/nodes/e159f380-6b75-457b-89d1-5db8a925b9e8/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e159f380-6b75-457b-89d1-5db8a925b9e8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e159f380-6b75-457b-89d1-5db8a925b9e8/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e159f380-6b75-457b-89d1-5db8a925b9e8/volume", "rel": "self"}, {"href": "http://localhost/nodes/e159f380-6b75-457b-89d1-5db8a925b9e8/volume", "rel": "bookmark"}]}
GET /v1/nodes/e159f380-6b75-457b-89d1-5db8a925b9e8 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-a088cfce-4ea4-4fa6-b74d-14bb1011778a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.40
{"uuid": "e159f380-6b75-457b-89d1-5db8a925b9e8", "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/e159f380-6b75-457b-89d1-5db8a925b9e8", "rel": "self"}, {"href": "http://localhost/nodes/e159f380-6b75-457b-89d1-5db8a925b9e8", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/e159f380-6b75-457b-89d1-5db8a925b9e8/ports", "rel": "self"}, {"href": "http://localhost/nodes/e159f380-6b75-457b-89d1-5db8a925b9e8/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e159f380-6b75-457b-89d1-5db8a925b9e8/states", "rel": "self"}, {"href": "http://localhost/nodes/e159f380-6b75-457b-89d1-5db8a925b9e8/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e159f380-6b75-457b-89d1-5db8a925b9e8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e159f380-6b75-457b-89d1-5db8a925b9e8/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e159f380-6b75-457b-89d1-5db8a925b9e8/volume", "rel": "self"}, {"href": "http://localhost/nodes/e159f380-6b75-457b-89d1-5db8a925b9e8/volume", "rel": "bookmark"}]}
POST /v1/nodes WIT
    H {'uuid': '6c8299cc-d670-4915-a96c-84a18d71754c', '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/6c8299cc-d670-4915-a96c-84a18d71754c
Openstack-Request-Id: req-c7be502d-72f9-405a-ba93-9edd772711d8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.40
{"uuid": "6c8299cc-d670-4915-a96c-84a18d71754c", "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/6c8299cc-d670-4915-a96c-84a18d71754c", "rel": "self"}, {"href": "http://localhost/nodes/6c8299cc-d670-4915-a96c-84a18d71754c", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/6c8299cc-d670-4915-a96c-84a18d71754c/ports", "rel": "self"}, {"href": "http://localhost/nodes/6c8299cc-d670-4915-a96c-84a18d71754c/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/6c8299cc-d670-4915-a96c-84a18d71754c/states", "rel": "self"}, {"href": "http://localhost/nodes/6c8299cc-d670-4915-a96c-84a18d71754c/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/6c8299cc-d670-4915-a96c-84a18d71754c/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/6c8299cc-d670-4915-a96c-84a18d71754c/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/6c8299cc-d670-4915-a96c-84a18d71754c/volume", "rel": "self"}, {"href": "http://localhost/nodes/6c8299cc-d670-4915-a96c-84a18d71754c/volume", "rel": "bookmark"}]}
GET /v1/nodes/6c8299cc-d670-4915-a96c-84a18d71754c WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-fb2460be-b34c-4049-ae74-5fab013ffaff
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.40
{"uuid": "6c8299cc-d670-4915-a96c-84a18d71754c", "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/6c8299cc-d670-4915-a96c-84a18d71754c", "rel": "self"}, {"href": "http://localhost/nodes/6c8299cc-d670-4915-a96c-84a18d71754c", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/6c8299cc-d670-4915-a96c-84a18d71754c/ports", "rel": "self"}, {"href": "http://localhost/nodes/6c8299cc-d670-4915-a96c-84a18d71754c/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/6c8299cc-d670-4915-a96c-84a18d71754c/states", "rel": "self"}, {"href": "http://localhost/nodes/6c8299cc-d670-4915-a96c-84a18d71754c/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/6c8299cc-d670-4915-a96c-84a18d71754c/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/6c8299cc-d670-4915-a96c-84a18d71754c/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/6c8299cc-d670-4915-a96c-84a18d71754c/volume", "rel": "self"}, {"href": "http://localhost/nodes/6c8299cc-d670-4915-a96c-84a18d71754c/volume", "rel": "bookmark"}]}
POST /v1/nodes WITH {'uuid': 'c4d251d2-b658-48a0-a783-73a1e36f06fb', '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/c4d251d2-b658-48a0-a783-73a1e36f06fb
Openstack-Request-Id: req-147b1fb4-6a44-43bc-9ca0-b2654e752a7e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.40
{"uuid": "c4d251d2-b658-48a0-a783-73a1e36f06fb", "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/c4d251d2-b658-48a0-a783-73a1e36f06fb", "rel": "self"}, {"href": "http://localhost/nodes/c4d251d2-b658-48a0-a783-73a1e36f06fb", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/c4d251d2-b658-48a0-a783-73a1e36f06fb/ports", "rel": "self"}, {"href": "http://localhost/nodes/c4d251d2-b658-48a0-a783-73a1e36f06fb/ports",
     "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/c4d251d2-b658-48a0-a783-73a1e36f06fb/states", "rel": "self"}, {"href": "http://localhost/nodes/c4d251d2-b658-48a0-a783-73a1e36f06fb/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/c4d251d2-b658-48a0-a783-73a1e36f06fb/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/c4d251d2-b658-48a0-a783-73a1e36f06fb/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/c4d251d2-b658-48a0-a783-73a1e36f06fb/volume", "rel": "self"}, {"href": "http://localhost/nodes/c4d251d2-b658-48a0-a783-73a1e36f06fb/volume", "rel": "bookmark"}]}
GET /v1/nodes/c4d251d2-b658-48a0-a783-73a1e36f06fb WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-dd280027-d59b-4da3-a256-a7fdac225e84
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.40
{"uuid": "c4d251d2-b658-48a0-a783-73a1e36f06fb", "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/c4d251d2-b658-48a0-a783-73a1e36f06fb", "rel": "self"}, {"href": "http://localhost/nodes/c4d251d2-b658-48a0-a783-73a1e36f06fb", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/c4d251d2-b658-48a0-a783-73a1e36f06fb/ports", "rel": "self"}, {"href": "http://localhost/nodes/c4d251d2-b658-48a0-a783-73a1e36f06fb/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/c4d251d2-b658-48a0-a783-73a1e36f06fb/states", "rel": "self"}, {"href": "http://localhost/nodes/c4d251d2-b658-48a0-a783-73a1e36f06fb/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/c4d251d2-b658-48a0-a783-73a1e36f06fb/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/c4d251d2-b658-48a0-a783-73a1e36f06fb/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/c4d251d2-b658-48a0-a783-73a1e36f06fb/volume", "rel": "self"}, {"href": "http://localhost/nodes/c4d251d2-b658-48a0-a783-73a1e36f06fb/volume", "rel": "bookmark"}]}
POST /v1/nodes WITH {'uuid': '60ecfe92-491d-4da5-a381-a333691c37dd', '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/60ecfe92-491d-4da5-a381-a333691c37dd
Openstack-Request-Id: req-98cb8f7a-dfde-454b-a0d6-31dc7de1dd60
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Versi
    on: 1.40
{"uuid": "60ecfe92-491d-4da5-a381-a333691c37dd", "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/60ecfe92-491d-4da5-a381-a333691c37dd", "rel": "self"}, {"href": "http://localhost/nodes/60ecfe92-491d-4da5-a381-a333691c37dd", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/60ecfe92-491d-4da5-a381-a333691c37dd/ports", "rel": "self"}, {"href": "http://localhost/nodes/60ecfe92-491d-4da5-a381-a333691c37dd/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/60ecfe92-491d-4da5-a381-a333691c37dd/states", "rel": "self"}, {"href": "http://localhost/nodes/60ecfe92-491d-4da5-a381-a333691c37dd/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/60ecfe92-491d-4da5-a381-a333691c37dd/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/60ecfe92-491d-4da5-a381-a333691c37dd/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/60ecfe92-491d-4da5-a381-a333691c37dd/volume", "rel": "self"}, {"href": "http://localhost/nodes/60ecfe92-491d-4da5-a381-a333691c37dd/volume", "rel": "bookmark"}]}
GET /v1/nodes/60ecfe92-491d-4da5-a381-a333691c37dd WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-fa6a9a78-bfc2-4776-96fb-e911416d4df0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.40
{"uuid": "60ecfe92-491d-4da5-a381-a333691c37dd", "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/60ecfe92-491d-4da5-a381-a333691c37dd", "rel": "self"}, {"href": "http://localhost/nodes/60ecfe92-491d-4da5-a381-a333691c37dd", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/60ecfe92-491d-
    4da5-a381-a333691c37dd/ports", "rel": "self"}, {"href": "http://localhost/nodes/60ecfe92-491d-4da5-a381-a333691c37dd/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/60ecfe92-491d-4da5-a381-a333691c37dd/states", "rel": "self"}, {"href": "http://localhost/nodes/60ecfe92-491d-4da5-a381-a333691c37dd/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/60ecfe92-491d-4da5-a381-a333691c37dd/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/60ecfe92-491d-4da5-a381-a333691c37dd/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/60ecfe92-491d-4da5-a381-a333691c37dd/volume", "rel": "self"}, {"href": "http://localhost/nodes/60ecfe92-491d-4da5-a381-a333691c37dd/volume", "rel": "bookmark"}]}
POST /v1/nodes WITH {'uuid': '6314d84a-747e-4661-860a-ccf737ae42ab', '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/6314d84a-747e-4661-860a-ccf737ae42ab
Openstack-Request-Id: req-0042eb10-1671-4d92-b252-c641a6ccdefd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.40
{"uuid": "6314d84a-747e-4661-860a-ccf737ae42ab", "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/6314d84a-747e-4661-860a-ccf737ae42ab", "rel": "self"}, {"href": "http://localhost/nodes/6314d84a-747e-4661-860a-ccf737ae42ab", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/6314d84a-747e-4661-860a-ccf737ae42ab/ports", "rel": "self"}, {"href": "http://localhost/nodes/6314d84a-747e-4661-860a-ccf737ae42ab/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/6314d84a-747e-4661-860a-ccf737ae42ab/states", "rel": "self"}, {"href": "http://localhost/nodes/6314d84a-747e-4661-860a-ccf737ae42ab/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/6314d84a-747e-4661-860a-ccf737ae42ab/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/6314d84a-747e-4661-860a-ccf737ae42ab/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/6314d84a-747e-4661-860a-ccf737ae42ab/volume", "rel": "self"}, {"href": "http://localhost/nodes/6314d84a-747e-4661-860a-ccf737ae42ab/volume", "rel": "bookmark"}]}
GET /v1/nodes/6314d84a-747e-4661-860a-ccf737ae42ab WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-c4ba22e9-b1d2-4051-93ac-2270f
    fe497ca
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.40
{"uuid": "6314d84a-747e-4661-860a-ccf737ae42ab", "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/6314d84a-747e-4661-860a-ccf737ae42ab", "rel": "self"}, {"href": "http://localhost/nodes/6314d84a-747e-4661-860a-ccf737ae42ab", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/6314d84a-747e-4661-860a-ccf737ae42ab/ports", "rel": "self"}, {"href": "http://localhost/nodes/6314d84a-747e-4661-860a-ccf737ae42ab/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/6314d84a-747e-4661-860a-ccf737ae42ab/states", "rel": "self"}, {"href": "http://localhost/nodes/6314d84a-747e-4661-860a-ccf737ae42ab/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/6314d84a-747e-4661-860a-ccf737ae42ab/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/6314d84a-747e-4661-860a-ccf737ae42ab/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/6314d84a-747e-4661-860a-ccf737ae42ab/volume", "rel": "self"}, {"href": "http://localhost/nodes/6314d84a-747e-4661-860a-ccf737ae42ab/volume", "rel": "bookmark"}]}
POST /v1/nodes WITH {'uuid': 'c4f984d8-3b98-445c-a154-69bee83c7746', '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/c4f984d8-3b98-445c-a154-69bee83c7746
Openstack-Request-Id: req-623a3e07-59fc-480f-85b6-5a740a6ab055
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.40
{"uuid": "c4f984d8-3b98-445c-a154-69bee83c7746", "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/c4f984d8-3b98-445c-a154-69bee83c7746", "rel": "self"}, {"href": "http://localhost/nodes/c4f984d8-3b98-445c-a154-69bee83c7746", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/c4f984d8-3b98-445c-a154-69bee83c7746/ports", "rel": "self"}, {"href": "http://localhost/nodes/c4f984d8-3b98-445c-a154-69bee83c7746/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/c4f984d8-3b98-445c-a154-69bee83c7746/states", "rel": "self"}, {"href": "http://localhost/nodes/c4f984d8-3b98-445c-a154-69bee83c7746/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/c4f984d8-3b98-445c-a154-69bee83c7746/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/c4f984d8-3b98-445c-a154-69bee83c7746/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/c4f984d8-3b98-445c-a154-69bee83c7746/volume", "rel": "self"}, {"href": "http://localhost/nodes/c4f984d8-3b98-445c-a154-69bee83c7746/volume", "rel": "bookmark"}]}
GET /v1/nodes/c4f984d8-3b98-445c-a154-69bee83c7746 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-07a1feae-79c4-4637-8991-eaf21e070bb5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.40
{"uuid": "c4f984d8-3b98-445c-a154-69bee83c7746", "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/c4f984d8-3b98-445c-a154-69bee83c7746", "rel": "self"}, {"href": "http://localhost/nodes/c4f984d8-3b98-445c-a154-69bee83c7746", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/c4f984d8-3b98-445c-a154-69bee83c7746/ports", "rel": "self"}, {"href": "http://localhost/nodes/c4f984d8-3b98-445c-a154-69bee83c7746/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/c4f984d8-3b98-445c-a154-69bee83c7746/states", "rel": "self"}, {"href": "http://localhost/nodes/c4f984d8-3b98-445c-a154-69bee83c7746/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/c4f984d8-3b98-445c-a154-69bee83c7746/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/c4f984d8-3b98-445c-a154-69bee83c7746/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/c4f984d8-3b98-445c-a154-69bee83c7746/volume", "rel": "self"}, {"href": "http://localhost/nodes/c4f984d8-3b98-445c-a154-69bee83c7746/volume", "rel": "bookmark"}]}
POST /v1/nodes WITH {'uuid': '94d646cb-40c
    5-4f9f-81d4-7a878fdff03f', '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/94d646cb-40c5-4f9f-81d4-7a878fdff03f
Openstack-Request-Id: req-aad7dccb-cd0c-478b-8f4b-fd1128a663a1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.40
{"uuid": "94d646cb-40c5-4f9f-81d4-7a878fdff03f", "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/94d646cb-40c5-4f9f-81d4-7a878fdff03f", "rel": "self"}, {"href": "http://localhost/nodes/94d646cb-40c5-4f9f-81d4-7a878fdff03f", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/94d646cb-40c5-4f9f-81d4-7a878fdff03f/ports", "rel": "self"}, {"href": "http://localhost/nodes/94d646cb-40c5-4f9f-81d4-7a878fdff03f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/94d646cb-40c5-4f9f-81d4-7a878fdff03f/states", "rel": "self"}, {"href": "http://localhost/nodes/94d646cb-40c5-4f9f-81d4-7a878fdff03f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/94d646cb-40c5-4f9f-81d4-7a878fdff03f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/94d646cb-40c5-4f9f-81d4-7a878fdff03f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/94d646cb-40c5-4f9f-81d4-7a878fdff03f/volume", "rel": "self"}, {"href": "http://localhost/nodes/94d646cb-40c5-4f9f-81d4-7a878fdff03f/volume", "rel": "bookmark"}]}
GET /v1/nodes/94d646cb-40c5-4f9f-81d4-7a878fdff03f WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-1d07f948-c504-44f7-a06e-d0a314f3cd83
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.40
{"uuid": "94d646cb-40c5-4f9f-81d4-7a878fdff03f", "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/94d646cb-40c5-4f9f-81d4-7a878fdff03f", "rel": "self"}, {"href": "http://localhost/nodes/94d646cb-40c5-4f9f-81d4-7a878fdff03f", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/94d646cb-40c5-4f9f-81d4-7a878fdff03f/ports", "rel": "self"}, {"href": "http://localhost/nodes/94d646cb-40c5-4f9f-81d4-7a878fdff03f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/94d646cb-40c5-4f9f-81d4-7a878fdff03f/states", "rel": "self"}, {"href": "http://localhost/nodes/94d646cb-40c5-4f9f-81d4-7a878fdff03f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/94d646cb-40c5-4f9f-81d4-7a878fdff03f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/94d646cb-40c5-4f9f-81d4-7a878fdff03f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/94d646cb-40c5-4f9f-81d4-7a878fdff03f/volume", "rel": "self"}, {"href": "http://localhost/nodes/94d646cb-40c5-4f9f-81d4-7a878fdff03f/volume", "rel": "bookmark"}]}
POST /v1/nodes WITH {'uuid': '3fcd422f-396b-4b07-b423-a477e77e2341', '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/3fcd422f-396b-4b07-b423-a477e77e2341
Openstack-Request-Id: req-92dacc89-a62f-4bb8-8b99-4655632ecca1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.40
{"uuid": "3fcd422f-396b-4b07-b423-a477e77e2341", "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/3fcd422f-396b-4b07-b423-a477e77e2341", "rel": "self"}, {"href": "http://localhost/nodes/3fcd422f-396b-4b07-b423-a477e77e2341", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/3fcd422f-396b-4b07-b423-a477e77e2341/ports", "rel": "self"}, {"href": "http://localhost/nodes/3fcd422f-396b-4b07-b423-a477e77e2341/ports", "rel": "bookmark"}], 
    "states": [{"href": "http://localhost/v1/nodes/3fcd422f-396b-4b07-b423-a477e77e2341/states", "rel": "self"}, {"href": "http://localhost/nodes/3fcd422f-396b-4b07-b423-a477e77e2341/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/3fcd422f-396b-4b07-b423-a477e77e2341/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3fcd422f-396b-4b07-b423-a477e77e2341/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/3fcd422f-396b-4b07-b423-a477e77e2341/volume", "rel": "self"}, {"href": "http://localhost/nodes/3fcd422f-396b-4b07-b423-a477e77e2341/volume", "rel": "bookmark"}]}
GET /v1/nodes/3fcd422f-396b-4b07-b423-a477e77e2341 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-65386d0b-c821-4c08-bf31-9ab3da164c6e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.40
{"uuid": "3fcd422f-396b-4b07-b423-a477e77e2341", "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/3fcd422f-396b-4b07-b423-a477e77e2341", "rel": "self"}, {"href": "http://localhost/nodes/3fcd422f-396b-4b07-b423-a477e77e2341", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/3fcd422f-396b-4b07-b423-a477e77e2341/ports", "rel": "self"}, {"href": "http://localhost/nodes/3fcd422f-396b-4b07-b423-a477e77e2341/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/3fcd422f-396b-4b07-b423-a477e77e2341/states", "rel": "self"}, {"href": "http://localhost/nodes/3fcd422f-396b-4b07-b423-a477e77e2341/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/3fcd422f-396b-4b07-b423-a477e77e2341/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3fcd422f-396b-4b07-b423-a477e77e2341/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/3fcd422f-396b-4b07-b423-a477e77e2341/volume", "rel": "self"}, {"href": "http://localhost/nodes/3fcd422f-396b-4b07-b423-a477e77e2341/volume", "rel": "bookmark"}]}
{2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href_not_in_allowlist [0.046576s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_8_public_api_v1_json [0.091976s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1.json WITH {} GOT Response: 404 Not Found
Content-Type: application/json
{"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"}
{2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href_path_not_found_or_not_file [0.055469s] ... ok
{2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_false_connerror [0.044094s] ... ok
{2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_false_ioerror [0.035825s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_9_public_api_v1_xml [0.113549s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1.xml WITH {} GOT Response: 404 Not Found
Content-Type: application/json
{"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"}
{2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_true_ioerror [0.036562s] ... ok
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_all_ports_via_not_pxe [0.224937s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.HttpImageServiceTestCase.test_download_fail_verify_true_oserror [0.025654s] ... ok
{2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_custom_timeout [0.024679s] ... ok
{2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_http_scheme [0.031974s] ... ok
{2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_false [0.026699s] ... ok
{2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_false_basic_auth_failed [0.025154s] ... ok
{2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_false_basic_auth_sucess [0.027222s] ... ok
{2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_path [0.023103s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_001_values ... SKIPPED: These are fake reference values for YAML templating
{2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_true [0.031443s] ... ok
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_instance_uuid [0.213442s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestPost.test_create_node_specify_interfaces_bad_version [0.452270s] ... 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-6d36db23-0327-47fc-8303-0bf2ab8147bd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-b7f44b35-c9dc-423f-8ae9-6aff3a84d64f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-3078a25a-5733-41cd-8e9e-3a97a9beb337
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-3f36d673-5539-401b-bf0f-de08b4f84c72
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-510b2943-5b53-4f4c-9141-3dd132c5c505
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-29b344ef-2d6a-4a26-bcb1-3c6a2666ed99
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-2f60232c-5734-4c77-89f6-78320e053bdc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-8b450e8d-e269-4fe5-837f-3bdb095a2b9c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_true_connerror [0.025392s] ... ok
{2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_gen_auth_from_conf_user_pass_none [0.029849s] ... ok
{2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_gen_auth_from_conf_user_pass_success [0.026180s] ... ok
{2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_get_handles_exceptions [0.028355s] ... ok
{2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_get_success [0.020889s] ... ok
{2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_get_success_verify_false [0.019636s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_traits [0.142622s] ... 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-00f14e6c-87c0-4a86-ba71-f64cd0290583
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: Additional properties are not allowed ('traits' was unexpected)\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_ansi_c [0.053363s] ... ok
{2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_cache_allowed [0.045202s] ... ok
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_with_sg [0.274264s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.HttpImageServiceTestCase.test_show_cache_disabled [0.041621s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_storage_interface_old_api_version [0.140304s] ... 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-1d5e7ee2-99ee-412f-9008-a25824826198
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.common.test_image_service.HttpImageServiceTestCase.test_show_no_content_length [0.064747s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_002_nodes_post_admin [0.381115s] ... 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-6681c64e-411b-440c-9888-50fd65d80213
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_rfc_822 [0.058312s] ... ok
{2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_rfc_850 [0.059225s] ... ok
{2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_custom_timeout [0.040240s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_driver_info [0.233239s] ... 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-0d5a14ed-38bb-45d3-aa44-4e34cfb919b0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:27:04.178280+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-7fdf1703-7761-487a-aba5-baec3479d28f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:27:04.178280+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"}]}
{2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_error_with_secret_parameter [0.044935s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_003_nodes_post_member [0.257260s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-c4255fb9-a755-419c-a987-38d273f61fb4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_http_scheme [0.073435s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_extra [0.121652s] ... 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-2f0f01b7-2c16-4d93-9ea9-c0663420e5c1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:27:04.321458+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-fb66adb3-84d2-40ae-a845-52ebba8c4e63
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:27:04.321458+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"}]}
{2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_path_forbidden [0.059313s] ... ok
{2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_path_redirected [0.052528s] ... ok
{2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_valid_path_invalid_basic_auth [0.042951s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_properties [0.145527s] ... 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-5814bf99-63bf-49ee-9134-ed4b131d8043
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:27:04.442143+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-d74b2996-0a80-481b-b506-7e9819b5ddf9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:27:04.442143+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.common.test_neutron.TestNeutronNetworkActions.test_add_ports_with_client_id_to_network [0.526278s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.HttpImageServiceTestCase.test_validate_href_valid_path_valid_basic_auth [0.040811s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_004_nodes_post_observer [0.254612s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-822d24e1-a35f-48bb-9bef-96b22a2d6d4e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_connect_error [0.061901s] ... ok
{2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_error [0.048375s] ... ok
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_smartnic_port_to_network [0.161493s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.HttpImageServiceTestCase.test_validate_href_verify_false [0.051561s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_chassis_uuid [0.205514s] ... 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-1e618aef-0359-43d1-8edf-4a487c3fc4b7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:27:04.653368+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-e0c39a5e-a60b-4317-b124-89a92ca78169
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:27:04.653368+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.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_false_error [0.036853s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_005_nodes_get_node_admin [0.183614s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-8d18fa7a-afee-45cd-b7f1-a36c04b12294
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:27:04.626480+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.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_os_error [0.052131s] ... ok
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_local_group_information [0.112769s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.HttpImageServiceTestCase.test_validate_href_verify_true [0.044014s] ... ok
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_neutron_port_data [0.067551s] ... ok
{2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_true_error [0.051410s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_default_conductor_group [0.200843s] ... 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-f0a8f810-3e63-4a8c-8a8a-1aaa2f4f16fe
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:27:04.853937+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-6959ce0b-894a-434d-8c47-9025a260ce0c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:27:04.853937+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"}]}
{2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_valid_path [0.048119s] ... ok
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_neutron_port_data_ipv6 [0.065812s] ... ok
{2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_verify_basic_auth_cred_format [0.030759s] ... ok
{2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_verify_basic_auth_cred_format_empty_password [0.034465s] ... ok
{2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_verify_basic_auth_cred_format_empty_user [0.035480s] ... ok
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_node_portmap [0.107550s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestPost.test_create_node_with_default_resource_class [0.182191s] ... 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-6f814ff7-3435-4984-9a43-aff6a8e5bbf1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:27:05.037731+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-8876e43a-806d-4b02-b38d-4b0f0ca1270e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:27:05.037731+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"}]}
{2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_verify_basic_auth_cred_format_none_password [0.053035s] ... ok
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_is_smartnic_port_false [0.062969s] ... ok
{2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_verify_basic_auth_cred_format_none_user [0.041538s] ... ok
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_is_smartnic_port_true [0.060409s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_internal_field [0.151091s] ... 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-5361b739-6882-4660-a592-faa464f76bfb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.common.test_inspection_rule.TestActions.test_action_error_cases [0.109250s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports [0.104186s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestPost.test_post_portgroups_subresource [0.100952s] ... 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-fcda2a46-fd37-4aa5-a387-bbf1fd9ad174
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_006_nodes_get_node_member [0.604671s] ... 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-80bf902e-883a-4851-b4f0-3cbf875bd2c3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_inspection_rule.TestActions.test_action_path_dot_slash_notation [0.112056s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_delete_fail [0.102294s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestPost.test_post_ports_subresource [0.106821s] ... 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-1dc6f177-da13-4540-b909-1e729511ce8c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.common.test_inspection_rule.TestActions.test_action_with_dict_loop [0.112815s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_delete_race [0.090298s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_007_nodes_get_node_observer [0.195591s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-a99b7e28-6b1d-4896-b880-4a1acaaf8060
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:27:05.429301+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.api.controllers.v1.test_node.TestPost.test_post_ports_subresource_no_node_id [0.113258s] ... 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_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_list_fail [0.118005s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestActions.test_action_with_list_loop [0.170695s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestPost.test_post_volume_connectors_subresource [0.127236s] ... 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-fb9904c1-7803-4a71-a280-da3dae70e2fe
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_008_nodes_get_node_other_admin [0.164963s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-bdb14637-3fbf-495a-9db1-e1e264de27ff
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:27:05.617750+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.api.controllers.v1.test_node.TestPost.test_post_volume_connectors_subresource_no_node_id [0.065812s] ... 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\": \"\"}"}
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_smartnic_ports [0.141849s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestActions.test_add_trait_action [0.135930s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_009_nodes_get_admin [0.095195s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-95e4472f-03fb-4065-8bb9-3327a862d8b1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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": "a882d1d8-f902-4323-81d9-a67b4b4d3847", "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"}]}]}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_targets_subresource [0.105178s] ... 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-c2fed82f-ba1d-4565-ac7b-5ed064c3e190
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_010_nodes_get_other_admin [0.089384s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-9446bf5d-860f-449e-8d4c-5a6d5aa093d8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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": "1651162e-288c-4a18-beca-7d654a001551", "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"}]}]}
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network [0.116626s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_011_nodes_detail_get_admin [0.080221s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/detail WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-a5f06770-71be-4c3b-b7c5-252011e3d58f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:27:05.931842+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-30T17:27:05.933094+00:00", "updated_at": "2025-05-30T17:27:05.936710+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": "acc168b2-a337-4faf-934b-4b8e67640fbe", "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": "acc168b2-a337-4faf-934b-4b8e67640fbe", "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-30T17:27:05.953846+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"}]}]}
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network_not_all_pxe_enabled [0.087311s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestPost.test_vendor_passthru_async [0.122853s] ... 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-89db5fc4-4530-4aa4-a8aa-b557eccafaf0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_012_nodes_detail_get_member [0.085674s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/detail WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-66b6d894-284f-4e36-80ff-1020d145fe66
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network_not_all_pxe_enabled_all_ports [0.087352s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestPost.test_vendor_passthru_by_name [0.116135s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/nodes/node-109/vendor_passthru/test WITH {'foo': 'bar'} GOT Response: 202 Accepted
Openstack-Request-Id: req-3149d073-ad49-4b23-a2e9-4ed10c8a6c58
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.5
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_rollback_ports [0.046795s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_013_nodes_detail_get_observer [0.125128s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/detail WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-b4749105-126e-45ad-aedc-e8e681146f03
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:27:06.098978+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-30T17:27:06.100112+00:00", "updated_at": "2025-05-30T17:27:06.103497+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": "ffeb3241-da5c-4dcc-946c-67c34e6f76e9", "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": "ffeb3241-da5c-4dcc-946c-67c34e6f76e9", "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-30T17:27:06.118692+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"}]}]}
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_rollback_ports_exception [0.063594s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_agent_down [0.032893s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_delete [0.120069s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/do_test GOT Response: 202 Accepted
Openstack-Request-Id: req-f28180f9-3edb-4a1e-8687-00e4c1a9c6cc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_agent_up [0.041954s] ... ok
{2} ironic.tests.unit.common.test_inspection_rule.TestActions.test_del_attribute_action [0.487212s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_014_nodes_node_ident_get_admin [0.112035s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-94305ae6-ed71-4337-98b3-6861e66b8e45
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:27:06.245777+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.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_flat_interface [0.056785s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_get [0.118166s] ... 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-0b8a8f32-abb6-4d67-9f37-22b5666fa3d9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
"foo"
{2} ironic.tests.unit.common.test_inspection_rule.TestActions.test_del_port_attribute_action [0.097503s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_015_nodes_node_ident_get_member [0.085762s] ... 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-3b772d73-9398-41af-91fa-43420ae7a7cd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_flat_interface_with_client_id [0.047776s] ... ok
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface [0.065273s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_016_nodes_node_ident_get_observer [0.087199s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-ffe0cfe6-8ae3-4831-a168-10045c18457b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:27:06.432772+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.common.test_inspection_rule.TestActions.test_extend_attribute_action [0.105766s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestPost.test_vendor_passthru_methods [0.137644s] ... 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-3140760d-8cbd-46d8-ac4b-dd5c164b92b1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-b87864ec-d81e-4c0c-bdce-eaec0b422b57
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"foo": "bar"}
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface_missed_info [0.053275s] ... ok
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface_with_client_id [0.046168s] ... ok
{2} ironic.tests.unit.common.test_inspection_rule.TestActions.test_extend_plugin_data_action [0.084571s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_017_nodes_node_ident_patch_admin [0.127894s] ... 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-4a346e2f-5b39-4cd5-91e0-12be954fc31c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_no_such_method [0.133604s] ... 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-4848ba94-9ac7-4ad4-8482-339cdf56c5b8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_network_type_unmanaged [0.094566s] ... ok
{2} ironic.tests.unit.common.test_inspection_rule.TestActions.test_extend_port_attribute_action [0.097639s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_018_nodes_node_ident_patch_member [0.096794s] ... 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-16f56aa1-200b-4364-8949-30b62122a505
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_no_smartnic_and_link_info [0.090241s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_put [0.100981s] ... 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-f453ccfe-9b66-44c2-9c3e-6bae4f52b7a9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{2} ironic.tests.unit.common.test_inspection_rule.TestActions.test_fail_action [0.107216s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_smartnic_and_link_info [0.069364s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_sync [0.080123s] ... 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-2b6fcea0-f8a7-46ac-aae0-221eab02895c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"cat": "meow"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_019_nodes_node_ident_patch_observer [0.149801s] ... 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-90d5b67b-3a84-41b2-af76-833d44145538
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_extra\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_smartnic_and_no_link_info [0.062525s] ... ok
{2} ironic.tests.unit.common.test_inspection_rule.TestActions.test_log_action [0.099245s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestPost.test_vendor_passthru_without_method [0.070732s] ... 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-beaf0150-169b-45e3-af00-e91f0238950d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups [0.045798s] ... ok
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_exception_by_neutronclient [0.043744s] ... ok
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_less_than_configured [0.037875s] ... ok
{2} ironic.tests.unit.common.test_inspection_rule.TestActions.test_remove_trait_action [0.129635s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_020_nodes_node_ident_delete_admin [0.167630s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-65fe2c52-fd07-4c82-b136-56a463b7a586
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_local_link_connection_network_type [0.152330s] ... 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-c990f270-1898-4bf9-845a-9b419db19396
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:27:06.973191+00:00", "updated_at": "2025-05-30T17:27:07.056795+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}
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_more_than_configured [0.057285s] ... ok
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_no_sg_from_neutron [0.059908s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_local_link_connection_network_type_old_api [0.078008s] ... 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-7caad52b-f9a2-446f-81be-54e349671bde
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.common.test_inspection_rule.TestActions.test_set_attribute_action [0.151535s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_down_target_state_down [0.056872s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_021_nodes_node_ident_delete_member [0.146581s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-4fd7047c-d2ab-40cf-b7f0-e48d5432a72f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_down_target_state_up [0.035699s] ... ok
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_up_target_state_down [0.041109s] ... ok
{2} ironic.tests.unit.common.test_inspection_rule.TestActions.test_set_capability_action [0.097375s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestPatch.test_add_multi [0.144371s] ... 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-fa83579b-e447-4db1-9286-ef1aa79deea4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:27:07.205851+00:00", "updated_at": "2025-05-30T17:27:07.283934+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"}]}
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_up_target_state_up [0.034800s] ... ok
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_active_max_retry [0.036595s] ... ok
{2} ironic.tests.unit.common.test_inspection_rule.TestActions.test_set_plugin_data_action [0.085716s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_down [0.040092s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_022_nodes_node_ident_delete_observer [0.170112s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-d5a7ad88-e416-4b72-8e94-165e91b6bc7d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_down_max_retry [0.054188s] ... ok
{2} ironic.tests.unit.common.test_inspection_rule.TestActions.test_set_port_attribute_action [0.114053s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_up [0.042708s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_023_nodes_validate_get_admin [0.171388s] ... 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-b638222a-bbab-4fb9-a3ce-9f3e19bdc857
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_inspection_rule.TestActions.test_unset_capability_action [0.092807s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkInterfaceMixin.test_get_network_names_and_uuids [0.142923s] ... ok
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(
{2} ironic.tests.unit.common.test_inspection_rule.TestActions.test_unset_plugin_data_action [0.094089s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{0} ironic.tests.unit.common.test_pxe_utils.CleanUpPxeEnvTestCase.test__clean_up_pxe_env [0.057228s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_024_nodes_validate_get_member [0.162278s] ... 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-053e9fba-2069-4b40-839b-28d6f3575a5d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__cache_tftp_images_master_path [0.039443s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_node_id [0.468012s] ... 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-aa88cb60-86f7-432a-ab73-15a9f393e297
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.common.test_inspection_rule.TestApplyRules.test_apply_rules_all_conditions_fail [0.140035s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_025_nodes_validate_get_observer [0.148248s] ... 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-cfb3543f-a73d-4917-8442-61d9daeeb112
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:validate\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_node_uuid [0.152244s] ... 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-3c7568da-2e09-41a4-a52a-0b41b4880e4b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:27:07.824407+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"}]}
{0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info [0.222913s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_deploy_ramdisk [0.035435s] ... ok
{2} ironic.tests.unit.common.test_inspection_rule.TestApplyRules.test_apply_rules_ironic_exception [0.195042s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_ipxe [0.038226s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_026_nodes_maintenance_put_admin [0.166946s] ... 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-ab20be9e-d587-4b30-91a0-594013e2cb52
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network [0.135257s] ... 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-e5a7f98e-1ba9-444a-9a6f-40ba09367cf7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:27:07.966146+00:00", "updated_at": "2025-05-30T17:27:08.043369+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}
{0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_missing_deploy_kernel [0.035097s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_cache_ramdisk_kernel [0.038332s] ... ok
{2} ironic.tests.unit.common.test_inspection_rule.TestApplyRules.test_apply_rules_no_rules [0.106077s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestPatch.test_add_physical_network_old_api_version [0.084363s] ... 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-ddb89ff7-dd65-4dae-87f6-1a09288aa079
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_cache_ramdisk_kernel_ipxe [0.055408s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_cache_ramdisk_kernel_ipxe_anaconda [0.049394s] ... ok
{2} ironic.tests.unit.common.test_inspection_rule.TestApplyRules.test_apply_rules_some_conditions_pass [0.134249s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestPatch.test_add_physical_network_upgrade [0.106661s] ... 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-3f26a2d0-fa95-4657-8fce-a8228bb56c90
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_boot_iso [0.050335s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_027_nodes_maintenance_put_member [0.222071s] ... 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-b351001c-48c2-4063-a67c-37247bb1618b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_kickstart_stage2_missing [0.108428s] ... ok
{2} ironic.tests.unit.common.test_inspection_rule.TestApplyRules.test_apply_rules_success [0.138947s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestPatch.test_add_portgroup_uuid [0.168800s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/portgroup_uuid', 'value': 'b365f635-3fa7-43d7-aa64-4e3ce5eef8dc', 'op': 'add'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-2026280d-7573-4dc9-841d-d1811412330f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:27:08.325716+00:00", "updated_at": "2025-05-30T17:27:08.421906+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": "b365f635-3fa7-43d7-aa64-4e3ce5eef8dc"}
{0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_localboot [0.098609s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_whole_disk_image [0.049368s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_028_nodes_maintenance_put_observer [0.240569s] ... 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-444b4628-7a12-44b1-b38f-ce7ca1245134
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_maintenance\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_inspection_rule.TestApplyRules.test_apply_rules_with_always_mask [0.154656s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_with_kickstart_boot_option [0.058156s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_root [0.163431s] ... 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-76ca194d-0a76-488b-88e7-d60d0a3080c1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:27:08.504343+00:00", "updated_at": "2025-05-30T17:27:08.595792+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"}]}
{0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_with_kickstart_url_http [0.060407s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_deploy [0.035141s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_root_non_existent [0.087158s] ... 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-dc02c121-995c-45a9-97a2-c3e6cd5686e8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_029_nodes_maintenance_delete_admin [0.159886s] ... 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-130e31cc-b2ed-4653-b75c-ab7bdd89db4e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_inspection_rule.TestApplyRules.test_apply_rules_with_never_mask [0.151593s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_from_conf_deploy [0.030417s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_from_conf_deploy_by_arch [0.031081s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_from_conf_rescue [0.045853s] ... ok
{2} ironic.tests.unit.common.test_inspection_rule.TestApplyRules.test_apply_rules_with_sensitive_mask [0.123276s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_from_conf_rescue_by_arch [0.041748s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_030_nodes_maintenance_delete_member [0.144945s] ... 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-3f14fcde-0a67-47f5-9a28-1b7ad22ad21c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_deploy_kernel [0.027251s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_empty_string [0.184084s] ... 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-011eb6f6-0fda-4f31-801f-0340fa939329
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A non-empty value is required when setting physical_network\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_failure [0.058264s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_deploy_ramdisk [0.026824s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_rescue_kernel [0.033217s] ... ok
{2} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_failure_with_foreign_class [0.048661s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_rescue_ramdisk [0.035943s] ... ok
{2} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_failure_with_version_and_cap [0.046715s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_non_text [0.111312s] ... 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-9bef658e-6461-4b64-8c93-9a85b16b7dfe
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 1234 is not of type 'string', 'null'\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_mixed_source_deploy [0.035177s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_031_nodes_maintenance_delete_observer [0.155596s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-f2e4396f-03df-4d8d-a499-fe3a9afc6694
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:clear_maintenance\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_ipv4_success [0.046211s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_mixed_source_deploy_by_arch [0.034354s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_mixed_source_rescue [0.031473s] ... ok
{2} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_ipv6_success [0.056645s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_too_long [0.100678s] ... 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-7fd92e28-05e7-4b9c-a8e9-b6ff8fbf676f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp' is too long\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_ramdisk [0.027519s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_rescue [0.026018s] ... ok
{2} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_ipv6_success_rfc2732 [0.043464s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_grub_mac_path [0.034597s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_032_nodes_management_boot_device_put_admin [0.156557s] ... 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-9ab13bdc-7251-47d7-8097-d3d8493e78e1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_success [0.042496s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_ip_address_path [0.026162s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_mac_path [0.030320s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_portgroups_subresource_patch [0.125072s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/aa90596f-5d45-4e67-8c7f-5388bf2e0cc2 WITH [{'path': '/address', 'value': '00:00:00:00:00:00', 'op': 'replace'}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-9d71489f-2890-4f7d-89a3-a4ae0efee8cb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.common.test_json_rpc.TestClient.test_call_success_with_version [0.062271s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_mac_path_ipxe [0.027863s] ... ok
{2} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_success_with_version_and_cap [0.052790s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__link_ip_address_pxe_configs [0.061608s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_033_nodes_management_boot_device_put_member [0.175487s] ... 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-c8639f51-7813-4980-ac7f-a1a43a1a4427
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_unexpected_failure [0.082339s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_infiniband_mac_pxe_configs [0.058339s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestPatch.test_remove_local_link_connection_network_type [0.157764s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/ports/23494449-a0c2-4e77-8842-fe77239b95cc WITH [{'path': '/local_link_connection/network_type', 'op': 'remove'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-0763d6e9-c310-46f5-a22e-dd326d6267f8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.64
{"uuid": "23494449-a0c2-4e77-8842-fe77239b95cc", "created_at": "2025-05-30T17:27:09.302172+00:00", "updated_at": "2025-05-30T17:27:09.387401+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/23494449-a0c2-4e77-8842-fe77239b95cc", "rel": "self"}, {"href": "http://localhost/ports/23494449-a0c2-4e77-8842-fe77239b95cc", "rel": "bookmark"}], "portgroup_uuid": null}
{2} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_with_client_ssl [0.042494s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_mac_ipxe_configs [0.062151s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_json_rpc.TestClient.test_call_with_ssl [0.044495s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_mac_pxe_configs [0.051609s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_json_rpc.TestClient.test_can_send_version [0.044401s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_034_nodes_management_boot_device_put_observer [0.153265s] ... 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-10d0bc25-1e3f-4aa4-bcfa-0cdbef49d53e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_local_link_connection_network_type_old_api [0.089808s] ... 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-c41db243-cbf7-40be-8aa0-2536eb97196a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.common.test_json_rpc.TestClient.test_cast_failure [0.040794s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config [0.063096s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestPatch.test_remove_local_link_connection_old_api [0.080831s] ... 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-1a38e1f6-a4e0-4a05-b4fe-8eac03236546
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.common.test_json_rpc.TestClient.test_cast_success [0.057298s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi [0.063044s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_json_rpc.TestClient.test_cast_success_with_version [0.045655s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_035_nodes_management_boot_device_get_admin [0.160796s] ... 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-c594b4ee-d945-4043-9bc2-48f6de224f58
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_instance_info [0.053185s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestPatch.test_remove_mandatory_field [0.100313s] ... 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-54b02036-d150-456c-ac89-ebb04c5fd811
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.common.test_json_rpc.TestClient.test_mask_secrets [0.063339s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_mac_address [0.072287s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_json_rpc.TestSession.test_http_basic [0.047964s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_036_nodes_management_boot_device_get_member [0.095535s] ... 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-c1973431-f31b-41bf-9b40-9f6d2b544b1e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_json_rpc.TestSession.test_http_basic_deprecated [0.066110s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_037_nodes_management_boot_device_get_observer [0.085858s] ... 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-0ae3d834-6cfb-48dd-b457-0d5397f170ec
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_no_ipaddress [0.125407s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_json_rpc.TestSession.test_keystone [0.064473s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script [0.060170s] ... ok
{2} ironic.tests.unit.common.test_json_rpc.TestSession.test_noauth [0.057862s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_038_nodes_management_boot_device_supported_get_admin [0.104394s] ... 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-b57a8783-9c5e-4fb7-bfce-4db7267df5cd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_already_exists [0.061826s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_multi [0.322907s] ... 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-08a5816f-ea07-4cd1-87b4-fd2e1f904ea7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:27:09.765130+00:00", "updated_at": "2025-05-30T17:27:09.903807+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-06a1834d-6489-40cb-8728-2112b72b9e57
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:27:09.765130+00:00", "updated_at": "2025-05-30T17:27:09.997211+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.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_039_nodes_management_boot_device_supported_get_member [0.076758s] ... 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-d709829f-f12d-47b0-a83d-e7d988c3b600
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_copy_file_different [0.064757s] ... ok
{2} ironic.tests.unit.common.test_network.GetPortsByPortgroupIdTestCase.test_ports_by_portgroup_id [0.131440s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_fallback [0.032841s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_040_nodes_management_boot_device_supported_get_observer [0.095734s] ... 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-72cda66e-8e98-4d30-8766-30acd539309a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_node_id [0.118034s] ... 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-f6798773-d7e7-40e5-948d-e23d5112df0a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.common.test_network.GetPortsByPortgroupIdTestCase.test_ports_by_portgroup_id_empty [0.104932s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_041_nodes_management_inject_nmi_put_admin [0.097852s] ... 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-b3808711-a216-40cd-9165-d95eb4a191f9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config [0.113594s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestPatch.test_remove_non_existent_property_fail [0.109278s] ... 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-7f497c3b-bd3f-4167-a7a9-ca5eb4013ca2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_cleaning [0.149540s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_existing_dirs_bios [0.145034s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestPatch.test_remove_physical_network [0.160199s] ... 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-70c29dc1-60e4-433d-8763-c1f8b4854a05
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:27:10.317296+00:00", "updated_at": "2025-05-30T17:27:10.408997+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.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_042_nodes_management_inject_nmi_put_member [0.275855s] ... 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-6cefd71a-15b1-4343-a526-90729c996cd9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_port.TestPatch.test_remove_physical_network_old_api_version [0.105119s] ... 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-d6eb260f-0d5a-481d-9739-6eb86f28730f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_existing_dirs_uefi [0.165053s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_043_nodes_management_inject_nmi_put_observer [0.108069s] ... 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-6065efe1-bb3d-437d-9ef6-58d47f25e310
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:inject_nmi\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_set_dir_permission [0.112954s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestPatch.test_remove_physical_network_upgrade [0.135892s] ... 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-7db354e4-ee03-47ee-95ec-72680a4ec5f2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_044_nodes_states_get_admin [0.128345s] ... 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-583ad1f6-36f3-42e0-bdfd-916c7b255f2c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_grub [0.093673s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestPatch.test_remove_uuid [0.102631s] ... 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-532b132f-1df1-4d5a-ae4a-0b21aa281d7c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_045_nodes_states_get_member [0.086447s] ... 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-b7b87a9a-3008-426f-948b-b63dc36c6a41
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_ipxe [0.096854s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_046_nodes_states_get_observer [0.086450s] ... 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-75cecda4-888b-4435-a509-1cf6089fe6a1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.common.test_network.TestNetwork.test_get_node_vif_ids_during_provisioning [0.588075s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestPatch.test_replace_address_already_exist [0.145830s] ... 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-361fe074-bb3d-4655-9145-3f048081a49d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_mac_address [0.091986s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_047_nodes_states_power_put_admin [0.104249s] ... 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-09fd5e58-663b-47f8-9a93-d69528b37f80
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_grub_config [0.078694s] ... ok
{2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_rescuing [0.169155s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestPatch.test_replace_local_link_connection [0.162484s] ... 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-0a12a907-59cc-417c-875f-a90e49359400
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:27:11.002700+00:00", "updated_at": "2025-05-30T17:27:11.100494+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"}]}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_048_nodes_states_power_put_member [0.153298s] ... 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-a650a7d4-6933-479c-8b3c-3538e9b01236
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_anaconda [0.113594s] ... ok
{2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_no_ports_no_portgroups [0.148581s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestPatch.test_replace_multi [0.153150s] ... 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-4a5aea17-03cc-445b-8b2c-3e40166b6e96
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:27:11.163755+00:00", "updated_at": "2025-05-30T17:27:11.254578+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"}]}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_049_nodes_states_power_put_observer [0.100468s] ... 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-8f65a18d-2f3a-441c-89cd-eacc8280ad12
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_power_state\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_iso [0.113590s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_node_id [0.084826s] ... 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-98bd6422-1605-45f6-9e4e-4e92f51355cb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_050_nodes_states_boot_mode_put_admin [0.078635s] ... 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-cf42232f-c201-4278-aacd-636275639a88
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_ramdisk [0.073330s] ... ok
{2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_port_int_info [0.160188s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_051_nodes_states_boot_mode_put_member [0.098008s] ... 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-be2f806e-5329-4975-ae2b-2a6d52593def
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_port.TestPatch.test_replace_node_uuid [0.150294s] ... 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-b832e0fa-b253-4e04-a970-44cc4eaa11c9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:27:11.415038+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"}]}
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config [0.108855s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_052_nodes_states_boot_mode_put_observer [0.109998s] ... 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-675e66e0-3ab0-4164-b9dc-251861af9ae0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_mode\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_portgroup_int_info [0.174228s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config_multipath [0.081929s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_non_existent_node_uuid [0.097101s] ... 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-6d85d9be-2819-4067-8f04-1446cb16835f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config_no_extra_volumes [0.079207s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_053_nodes_states_secure_boot_put_admin [0.095293s] ... 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-7c354e75-c0b0-4bcf-9672-75795a8a791f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_script [0.057765s] ... ok
{2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_portgroups_int_info [0.174043s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestPatch.test_replace_physical_network [0.161200s] ... 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-570dbffd-6f61-45cd-924e-82ca117b6057
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:27:11.662118+00:00", "updated_at": "2025-05-30T17:27:11.760346+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}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_054_nodes_states_secure_boot_put_member [0.122099s] ... 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-28272d72-ce3d-4a42-ba24-30bb09a36d9d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_port.TestPatch.test_replace_physical_network_old_api_version [0.101663s] ... 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-27ea3f22-f4e2-4ed8-bce0-2dd66c54be81
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_055_nodes_states_secure_boot_put_observer [0.097220s] ... 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-30e64978-5934-42eb-9ae3-5987e7d3d86b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_secure_boot\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_ports_int_info [0.154391s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestPatch.test_replace_physical_network_upgrade [0.094741s] ... 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-1703f213-dadf-4bb1-89de-d8041a383c68
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_056_nodes_states_provision_put_admin [0.110094s] ... 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-ca46388f-4cfb-416b-adb9-02a7f9b393a6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_057_nodes_states_provision_put_member [0.080170s] ... 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-6d9dac08-b011-43c5-9e53-efd3685eccb5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_port.TestPatch.test_replace_portgroup_uuid [0.156408s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/portgroup_uuid', 'value': 'b0c278c8-5b99-4c91-a6d8-c95004e00c55', 'op': 'replace'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-200d5ff8-e89b-4384-9159-b3b22c373b10
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:27:12.028215+00:00", "updated_at": "2025-05-30T17:27:12.122086+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": "b0c278c8-5b99-4c91-a6d8-c95004e00c55"}
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_config [0.415096s] ... ok
{2} ironic.tests.unit.common.test_network.TestNetwork.test_remove_vifs_from_node [0.247449s] ... ok
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.TestRBACModelBeforeScopes.test_rbac_legacy_058_nodes_states_provision_put_observer [0.101152s] ... 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-5adf5c87-0bf2-4c19-9f84-860a42f9f03f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_provision_state\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_timeout_config [0.082431s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_old_api [0.099025s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/portgroup_uuid', 'value': 'd18e525a-1744-4d77-ac9c-235b87bfdbb3', 'op': 'replace'}] GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-1ac6ea0c-a637-4c1d-9947-132ebbd0a1ca
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.common.test_nova.NovaApiTestCase.test_invalid_power_update [0.090908s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_059_nodes_states_raid_put_admin [0.073911s] ... 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-cabdc0b1-ca05-42c2-bcce-76895fd07986
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_pxe_config [0.069568s] ... ok
{2} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_1 [0.090276s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance [0.075102s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_060_nodes_states_raid_put_member [0.118925s] ... 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-f05e9f76-9ec2-441c-a4f0-a7020ea29ff1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_port.TestPatch.test_replace_portgroup_uuid_remove [0.157445s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/portgroup_uuid', 'value': '60435f49-99a3-449d-928d-b9c70384e019', 'op': 'remove'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-5fbed399-200d-4b58-bb33-546fd8ffe931
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:27:12.301440+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}
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_bios [0.052832s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NovaApiTestCase.test_power_update_2 [0.110242s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_061_nodes_states_raid_put_observer [0.080095s] ... 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-12bde812-abcd-486a-ae03-a71aa3d47e12
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_raid_state\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_http_ipv4 [0.051854s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_http_ipv6 [0.039910s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NovaApiTestCase.test_power_update_3 [0.074876s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_062_nodes_states_console_get_admin [0.081936s] ... 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-00fdaf20-878a-43ea-b0dd-309cbc2676d5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_http_ipxe_ipv4 [0.040970s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_http_ipxe_ipv6 [0.050222s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NovaApiTestCase.test_power_update_4 [0.078853s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_063_nodes_states_console_get_member [0.111667s] ... 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-e3a9d494-680c-419c-8de4-862f542abfa3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipv6 [0.041934s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NovaApiTestCase.test_power_update_5 [0.067942s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_remove_add [0.328571s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/portgroup_uuid', 'value': 'e552e51d-ed7d-4f42-914a-9831491ef08b', 'op': 'remove'}, {'path': '/portgroup_uuid', 'value': '85587549-c1af-4fec-bcaa-0a567cad5957', 'op': 'add'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-422b8d12-87f7-40cc-b0e9-4219c5086416
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:27:12.495161+00:00", "updated_at": "2025-05-30T17:27:12.714885+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": "85587549-c1af-4fec-bcaa-0a567cad5957"}
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipv6_bios [0.075457s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_064_nodes_states_console_get_observer [0.085526s] ... 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-c528d3a7-a42b-49fe-89c9-12030964359a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_failed [0.078556s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_fallback_ipxe_boot_script [0.061689s] ... ok
{2} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_failed_no_nova [0.059112s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info [0.047144s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_065_nodes_states_console_put_admin [0.146251s] ... 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-f48b993b-58ee-4ce7-90ac-907293b1950b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_failed_no_nova_auth_url [0.068718s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info_bad_driver_info [0.059164s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_singular [0.233866s] ... 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-cf2c634a-0c1d-435b-b95e-a48a49254f3f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:27:12.829988+00:00", "updated_at": "2025-05-30T17:27:12.960311+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"}]}
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info_ipxe [0.068807s] ... ok
{2} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_1 [0.106103s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_pxe_config_file_path [0.054909s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_set_pxe_enabled_false_old_api [0.124263s] ... 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-6abba7dd-b01f-4d50-b5b3-de90f2a217d8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_pxe_utils.TestPXEUtils.test_get_rescue_kr_info [0.067756s] ... ok
{2} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_2 [0.106705s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_066_nodes_states_console_put_member [0.260097s] ... 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-5ced7091-b7a2-43bc-9a70-4e5612d2081f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_rescue_kr_info_ipxe [0.061332s] ... ok
{2} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_3 [0.073779s] ... ok
{2} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_4 [0.062684s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_address_invalid_format [0.165489s] ... 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-47a5d443-cd34-4f23-97bd-9dfc498c82cc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_link_mac_pxe_configs_with_pxe_disabled [0.126236s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_oci_registry.OciClientTestCase.test__image_to_url [0.052422s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_067_nodes_states_console_put_observer [0.166486s] ... 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-027944ca-5578-4d99-b30d-53bd1a56fba7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_oci_registry.OciClientTestCase.test__image_to_url_adds_oci [0.054379s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_place_common_config [0.074759s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_byaddress_not_allowed [0.119234s] ... 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-13311cca-f1f8-435e-94d4-3d733b2b96ef
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.common.test_oci_registry.OciClientTestCase.test_client_init_make_session [0.059200s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_place_common_config_existing_dirs [0.083359s] ... ok
{2} ironic.tests.unit.common.test_oci_registry.OciClientTestCase.test_get_blob_url [0.049421s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_068_nodes_vendor_passthru_methods_get_admin [0.175181s] ... 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-2d57a44c-e79d-4b13-891e-b4fe681bcaae
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_oci_registry.OciClientTestCase.test_image_tag_from_url [0.034024s] ... ok
{2} ironic.tests.unit.common.test_oci_registry.OciClientTestCase.test_image_tag_from_url_with_digest [0.053445s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_pxe_config [0.114578s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_byid [0.206729s] ... 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-aaf2fb81-186a-44a8-a430-a36ee65fac54
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:27:13.454459+00:00", "updated_at": "2025-05-30T17:27:13.579427+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.common.test_oci_registry.OciClientTestCase.test_image_tag_from_url_with_tag [0.044987s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_default_noop [0.067177s] ... ok
{2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_01 [0.052077s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_069_nodes_vendor_passthru_methods_get_member [0.163137s] ... 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-583130c6-58b9-4f50-ad3d-4ad8ca4f4dcc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_02 [0.062282s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_no_source [0.092625s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_in_inspecting_allowed [0.178965s] ... 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-857ca34c-85ff-4926-b56c-dfa3c5fb272b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:27:13.649902+00:00", "updated_at": "2025-05-30T17:27:13.766691+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.common.test_policy.PolicyInCodeTestCase.test_creds_03 [0.068996s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_raises_exception_with_absolute_path [0.086682s] ... ok
{2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_04 [0.062111s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_070_nodes_vendor_passthru_methods_get_observer [0.210685s] ... 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-b4a2c911-2565-4a8b-b411-47cb3bd5c670
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_two_files [0.093325s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_in_inspecting_not_allowed [0.166770s] ... 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-63839a05-36ad-4003-b089-d3835c9048de
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_05 [0.095351s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_two_files_exception_on_chmod [0.089550s] ... ok
{2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_06 [0.070730s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_two_files_exception_on_copy [0.050969s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_not_found [0.127315s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/ports/cac84ef1-44a6-4667-9d54-c15732070127 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-d29fc7e9-ad83-4611-956d-0017c7224ea3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port cac84ef1-44a6-4667-9d54-c15732070127 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_07 [0.055946s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_071_nodes_vendor_passthru_get_admin [0.212980s] ... 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-d27a2263-aa12-4c11-ab78-1c6f462ee127
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_08 [0.051759s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_two_files_relative_path [0.073198s] ... ok
{2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_09 [0.060231s] ... ok
{2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_10 [0.054064s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe [0.112648s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_072_nodes_vendor_passthru_get_member [0.163104s] ... 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-41984267-11c9-4423-911e-e6da53b87b4e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_11 [0.042372s] ... ok
{2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_12 [0.037633s] ... ok
{2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_13 [0.053038s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_and_ipxe_timeout [0.145359s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_073_nodes_vendor_passthru_get_observer [0.136003s] ... 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-b160375f-6480-420e-81f3-d3803e93a792
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_14 [0.047920s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_and_iscsi_boot [0.085541s] ... ok
{2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_15 [0.053603s] ... ok
{2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_16 [0.061282s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_and_iscsi_boot_from_lists [0.070511s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_074_nodes_vendor_passthru_post_admin [0.170582s] ... 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-3e42da50-10c1-4af6-959b-5854ca9e259b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_17 [0.053817s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_boot_iso [0.056724s] ... ok
{2} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_access_forbidden [0.049426s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_ipa_debug [0.052901s] ... ok
{2} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_passes [0.072074s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_port_address_normalized [0.657185s] ... 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-c8530e42-a760-408b-95f1-58acf70ec6b1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:27:14.566876+00:00", "updated_at": "2025-05-30T17:27:14.707950+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"}]}
{0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_local_boot [0.069822s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_075_nodes_vendor_passthru_post_member [0.171006s] ... 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-dd1ece82-ec73-43c2-9f28-3680338b08b9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_policy_not_registered [0.046928s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_rescue [0.060820s] ... ok
{2} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_config_file [0.081556s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_076_nodes_vendor_passthru_post_observer [0.144390s] ... 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-5502e386-d775-4ba6-8f78-424f982d68bc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_rescue_swift [0.097083s] ... ok
{2} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_namespace [0.076441s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_pxe_enabled_allowed [0.221064s] ... 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-cd89e2e4-fa38-43c8-9e9b-93fffa5a81be
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:27:14.817539+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"}]}
{0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_rescue_timeout [0.078002s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_swift_partition [0.056007s] ... ok
{2} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_no_args [0.100367s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_pxe_enabled_old_api_version [0.127940s] ... 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-b8296daa-ea6d-47e1-b443-8069a5cec1a6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_swift_wdi [0.084868s] ... ok
{2} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_build_kickstart_config_options_pxe [0.098598s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_clean_up_ipxe_config_uefi [0.047784s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_instance_ipxe_bios [0.060117s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.098484s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_instance_ipxe_uefi [0.050858s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_ipxe_ipv6 [0.057357s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.106351s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_ipxe_ipv6_uefi [0.039294s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_077_nodes_vendor_passthru_put_admin [0.502873s] ... 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-9c061b02-7d83-45b9-a491-6d078b92f6a8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port [0.340109s] ... 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-49d839ff-f350-4c73-8918-61eca9c8d6c1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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-daa7cc72-1d8d-4c2f-ba46-c0d3d3534ca8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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"}
{2} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_prepare_instance_kickstart_config [0.086389s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_get_volume_pxe_options [0.084925s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_get_volume_pxe_options_hexadecimal_lunid [0.052470s] ... ok
{2} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_prepare_instance_kickstart_config_not_anaconda_boot [0.071614s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_078_nodes_vendor_passthru_put_member [0.155815s] ... 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-c86094b6-e1d6-4088-afd8-10e17004692c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_get_volume_pxe_options_unsupported_additional_volume_type [0.054453s] ... ok
{2} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_validate_kickstart_template [0.067196s] ... ok
{0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_get_volume_pxe_options_unsupported_volume_type [0.039522s] ... ok
{0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config [0.027246s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_address_already_exist [0.212845s] ... 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-3a68a711-d79c-4dc9-b56f-42253191150d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A port with MAC address AA:AA:AA:11:22:33 already exists.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_validate_kickstart_template_has_additional_variables [0.071675s] ... ok
{0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_empty_target_raid_config [0.052606s] ... ok
{0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_no_target_raid_config_after_skipping [0.029376s] ... ok
{2} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_validate_kickstart_template_missing_variable [0.071138s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_079_nodes_vendor_passthru_put_observer [0.182041s] ... 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-dc94dcba-67c8-4b8c-8f66-662560521dd1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_skip_nonroot [0.027784s] ... ok
{0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_skip_root [0.034445s] ... ok
{0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_get_logical_disk_properties [0.028006s] ... ok
{2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_additional_property [0.084042s] ... ok
{0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_get_logical_disk_properties_custom_schema [0.030698s] ... ok
{2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_custom_schema [0.067697s] ... ok
{0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_multiple_root_volumes [0.039099s] ... ok
{0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay [0.045067s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_address_normalized [0.283700s] ... 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-1b45ceaa-176d-4b41-a4fc-1f0ebf1b9c42
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:27:15.873573+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-8db23358-8764-4eb1-b618-178e1fbfb5f6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:27:15.873573+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"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_080_nodes_vendor_passthru_delete_admin [0.261675s] ... 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-745c38ac-4cef-40ea-b09b-b4a78f107412
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_081_nodes_vendor_passthru_delete_member [0.174119s] ... 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-a765c592-69c1-4ab2-a56b-180e7178ddf4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_port.TestPost.test_create_port_doesnt_contain_id [0.283509s] ... 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-5b6a522b-1292-405e-83ec-6b2128c6f33e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:27:16.153298+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-1583e976-51d3-4268-a1ab-c76d35b41cff
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:27:16.153298+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"}
{0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay_current_capabilities_empty [0.346440s] ... ok
{2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_disk_type [0.443224s] ... ok
{0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay_no_root_volumes [0.061295s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_082_nodes_vendor_passthru_delete_observer [0.158508s] ... 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-05d03ffc-36a6-490e-b2e1-a1aedbfa3587
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_skip_MAX [0.041950s] ... ok
{2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_int_type [0.058852s] ... ok
{0} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_contains_all_db_objects [0.020142s] ... ok
{0} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_current_object_versions [0.019537s] ... ok
{2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_is_root_volume [0.044436s] ... ok
{0} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_current_rpc_version [0.021210s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_error [0.210824s] ... 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-2d428be6-b414-4f18-95a4-af6fa4319056
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_no_gaps_in_object_versions [0.032292s] ... ok
{2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_multiple_is_root_volume [0.053701s] ... ok
{0} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_object_names_are_registered [0.030510s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_083_nodes_traits_get_admin [0.167535s] ... 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-5a91a263-89ce-49f7-8e98-c65f39c773a3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"traits": ["trait1"]}
{2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_number_of_phy_disks [0.043035s] ... ok
{0} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_rpc_and_objects_versions_supported [0.030280s] ... ok
{0} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_structure [0.034001s] ... ok
{2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_physical_disks [0.094719s] ... ok
{2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_raid_level [0.079021s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_generate_uuid [0.271432s] ... 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/95d7ea1c-c46d-43b3-b503-df274347375b
Openstack-Request-Id: req-06227067-f1b0-4f5e-a230-1381e310c31b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "95d7ea1c-c46d-43b3-b503-df274347375b", "created_at": "2025-05-30T17:27:16.662589+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/95d7ea1c-c46d-43b3-b503-df274347375b", "rel": "self"}, {"href": "http://localhost/ports/95d7ea1c-c46d-43b3-b503-df274347375b", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"}
GET /v1/ports/95d7ea1c-c46d-43b3-b503-df274347375b WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-3cc5e997-6baf-4293-83cc-a830981ae0c1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "95d7ea1c-c46d-43b3-b503-df274347375b", "created_at": "2025-05-30T17:27:16.662589+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/95d7ea1c-c46d-43b3-b503-df274347375b", "rel": "self"}, {"href": "http://localhost/ports/95d7ea1c-c46d-43b3-b503-df274347375b", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_084_nodes_traits_get_member [0.244970s] ... 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-0f0eda95-c959-4806-86be-6a4ff449ee60
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_share_physical_disks [0.066605s] ... ok
{2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_size_gb [0.071827s] ... ok
{2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_max_size_gb [0.048422s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_addr_format [0.148086s] ... 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-10693274-88ea-4251-a33b-9d24ad37915b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_085_nodes_traits_get_observer [0.175810s] ... 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-cc4c4800-4cff-4d92-8a7a-cdba01b7d31a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"traits": ["trait1"]}
{2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_logical_disk [0.040196s] ... ok
{0} ironic.tests.unit.common.test_swift.SwiftTestCase.test___init__ [0.380789s] ... ok
{2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_raid_level [0.064458s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_node_uuid_format [0.146725s] ... 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-1d0ec718-3e35-4653-a1ce-c577b9a1541d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_size_gb [0.076277s] ... ok
{2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_okay [0.050975s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_086_nodes_traits_put_admin [0.208369s] ... 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-6d57527e-ee05-45ee-8c4b-6273b6292506
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_okay_software [0.047191s] ... ok
{2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_too_few_physical_disks [0.041840s] ... ok
{2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_with_jbod_volume [0.064594s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_087_nodes_traits_put_member [0.172285s] ... 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-75ffe0a6-1a85-468d-9137-91bb79d79628
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_port.TestPost.test_create_port_invalid_physnet_empty_string [0.250285s] ... 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-42334466-9a5f-41d3-bb33-88354ca4ebe5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A non-empty value is required when setting physical_network\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object [0.377033s] ... ok
{2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_zero_logical_disks [0.050914s] ... ok
{2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_zero_size_gb [0.043031s] ... ok
{2} ironic.tests.unit.common.test_states.StatesTest.test_state_values_length [0.047558s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_non_text [0.156978s] ... 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-22e4910a-1597-47c0-a87e-8faf48787eb3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: 1234 is not of type 'string', 'null'\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_088_nodes_traits_put_observer [0.164705s] ... 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-97a02f97-b07d-4c18-b2fd-c47653ed84c1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test__get_hash_object [0.059397s] ... ok
{2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test__get_hash_object_throws_for_invalid_or_unsupported_hash_name [0.039637s] ... ok
{2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_differ [0.054619s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_too_long [0.157874s] ... 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-53c05352-313d-4f33-9b30-a04a6f955b46
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp' is too long\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_089_nodes_traits_delete_admin [0.169761s] ... 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-f1f8ba77-10e2-4554-86d9-f92171cb8643
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_equal [0.069589s] ... ok
{2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_equal_not_binary [0.067570s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_keys [0.156702s] ... 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-4e703d3e-423b-4998-bad4-bd383d70bbe3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:27:17.779247+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"}
{2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_fips_enabled [0.113154s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_090_nodes_traits_delete_member [0.198016s] ... 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-cce5448e-d002-43d5-b6fe-9368cef8a0b7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_hostname_safe [0.075326s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_091_nodes_traits_delete_observer [0.102306s] ... 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-da8fbee2-1dee-4d1a-9ebb-9f788d22b9c6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_missing_mandatory [0.179570s] ... 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-0c5a9d9e-5161-4a32-9fed-656e7fdf8988
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.common.test_utils.GenericUtilsTestCase.test_is_valid_datapath_id [0.068427s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_092_nodes_traits_trait_put_admin [0.100963s] ... 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-a808d71c-686c-4eb0-b372-928afd35cdd9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_logical_name [0.091818s] ... ok
{0} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_create_container_fails [0.781907s] ... ok
{2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_no_proxy [0.053237s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_093_nodes_traits_trait_put_member [0.091877s] ... 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-9d7c8eac-7977-42fc-9da3-e4755f267c91
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_safe_rstrip [0.072817s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_missing_optional [0.271499s] ... 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-62fd94a3-a3dc-4df6-8e7f-5737f2eab56a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:27:18.209737+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"}
{2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_safe_rstrip_not_raises_exceptions [0.069695s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_094_nodes_traits_trait_put_observer [0.119737s] ... 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-5177fc4c-2818-4402-93c0-4d60301b5681
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_unix_file_modification_datetime [0.071772s] ... ok
{2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_datapath_id [0.053282s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_095_nodes_traits_trait_delete_admin [0.134170s] ... 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-2ebd7c2c-9772-4595-a498-9b98d02e6e22
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_switch_id_bad_mac [0.171153s] ... 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-534675d7-5e15-4fda-8efe-da982971eb62
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address or OpenFlow datapath ID but received zz:zz:zz:zz:zz:zz.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_mac [0.074725s] ... ok
{2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_mac_invalid_format [0.050059s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_096_nodes_traits_trait_delete_member [0.126095s] ... 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-b05742b9-0a82-4a2b-99f5-0fe58cb0e0a0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_wrap_ipv6 [0.036321s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_min_api_version [0.170361s] ... 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-4cc81c0b-32d3-4a8f-9fc5-d8a59cb52081
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:27:18.567669+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.common.test_utils.ParseRootDeviceTestCase.test__append_operator_to_hints [0.043937s] ... ok
{2} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_empty_value [0.054655s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_097_nodes_traits_trait_delete_observer [0.179124s] ... 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-eac6ad57-619e-4e66-8dbb-68c6e6471241
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_integer [0.062515s] ... ok
{2} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_multiple_values [0.042536s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_missing_address_fails [0.202679s] ... 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-51e69064-2062-4b31-a42a-51e3ca10d83d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: 'address' is a required property\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_098_nodes_vifs_get_admin [0.098575s] ... 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-77250754-ec81-4f8b-a6b4-1125a1375011
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_multiple_values_space [0.067578s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_099_nodes_vifs_get_member [0.082177s] ... 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-b6ad4716-6c30-437b-8e9a-4ba4adce442b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_no_operator [0.084308s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_no_mandatory_field_address [0.186069s] ... 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-6801b046-2e47-4f27-b150-30fe964c6e45
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: 'address' is a required property\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_single_value [0.077595s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_100_nodes_vifs_get_observer [0.117521s] ... 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-dc305f61-b1d1-46f0-9128-b4fdc915edf5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:list\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_create_object_fails [0.931525s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_no_mandatory_field_node_uuid [0.051354s] ... 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-03c5c44a-a2ac-47d3-8057-90553f1107d2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_node_uuid_not_found [0.061666s] ... 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-f61a94bf-749e-42b4-a04b-af89cd2c0672
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_101_nodes_vifs_post_admin [0.100449s] ... 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-8d185929-cd96-433e-b38f-bddc39408a2a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_normalize_hint_expression_empty_value [0.127763s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_noportgroup [0.088832s] ... 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-80a79bd6-7581-4a23-8c30-850afa02fc41
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:27:19.188737+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}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_102_nodes_vifs_post_member [0.078743s] ... 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-b4a8f1d0-d90e-48ca-89fd-8b47d38542ad
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_normalize_hint_expression_in [0.109923s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_portgroup_nostandalone_ports [0.123106s] ... 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-32ee47a1-a5ae-45a4-a9f8-efd305c2a384
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:27:19.309033+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.common.test_utils.ParseRootDeviceTestCase.test_normalize_hint_expression_no_op_no_space [0.090745s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_portgroup_standalone_ports [0.077412s] ... 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-f4c6d606-a775-47cf-b712-409336929074
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:27:19.387994+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"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_103_nodes_vifs_post_observer [0.207348s] ... 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-660bf8c8-0242-4480-a517-974cd765c2dc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_normalize_hint_expression_no_op_space [0.060231s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_noportgroup [0.100936s] ... 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-833e2467-3f73-475d-bb75-a81975c5e99e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:27:19.496488+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}
{2} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_normalize_hint_expression_op_no_space [0.070640s] ... ok
{2} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_normalize_hint_expression_op_space [0.041876s] ... ok
{2} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_normalize_hint_expression_or [0.020446s] ... ok
{2} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_convert_rotational [0.030306s] ... ok
{2} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_convert_size [0.033493s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_104_nodes_vifs_node_vif_ident_delete_admin [0.219823s] ... 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-3fe2fa87-8a52-4907-84c1-a5677dfdb3e5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_int_or [0.034654s] ... ok
{2} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_int_or_invalid [0.022283s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_portgroup_nostandalone_ports [0.223603s] ... 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-e2fe76a0-a846-4399-8e36-22c1b7f3e701
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}"}
{2} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_by_path [0.022269s] ... ok
{2} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_hctl [0.018824s] ... ok
{2} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_model [0.034136s] ... ok
{2} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_name [0.046736s] ... ok
{2} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_rotational [0.039921s] ... ok
{2} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_serial [0.049147s] ... ok
{2} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_size [0.039926s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_105_nodes_vifs_node_vif_ident_delete_member [0.343289s] ... 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-4e207bb4-4cb8-4fac-a6fc-2eb7d3143646
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_vendor [0.049316s] ... ok
{2} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn [0.062213s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_portgroup_standalone_ports [0.383325s] ... 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-22527d9d-d88a-4317-92d4-cb5c26f4fd67
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:27:20.066769+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.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn_vendor_extension [0.055038s] ... ok
{0} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_from_data [1.126893s] ... ok
{2} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn_with_extension [0.034451s] ... ok
{2} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_no_hints [0.055297s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_106_nodes_vifs_node_vif_ident_delete_observer [0.278295s] ... 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-075cebd4-b32a-4650-87e4-7ada4e0a5180
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:detach\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_non_existent_hint [0.060561s] ... ok
{2} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_string_compare_operator_name [0.088016s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup [0.242541s] ... 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-51778664-2e3a-45c5-a953-5011e0ee139f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:27:20.342237+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.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_string_or_space [0.082731s] ... ok
{2} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_with_operators [0.081646s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_107_nodes_management_indicators_get_admin [0.296966s] ... 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-15c89bf4-5847-4ca7-9c40-d0fca0981f61
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_different_nodes [0.180491s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '8e9c026f-11b3-41fd-bc1f-39d7c05e314d', '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-c3212461-85c0-4957-9844-234e8725f0f9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 8e9c026f-11b3-41fd-bc1f-39d7c05e314d could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_without_operators [0.071360s] ... ok
{2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_free_space_ok [0.088584s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_old_api_version [0.178788s] ... 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-9be03943-ab70-45d7-aa09-40e789c06277
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.common.test_utils.TempFilesTestCase.test__check_dir_writable_not_writable [0.077491s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_108_nodes_management_indicators_get_member [0.299681s] ... 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-6f8e4420-b54f-4c9a-9606-d7831fc5e866
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_writable_ok [0.090709s] ... ok
{0} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_from_data_create_container_fails [0.727426s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_uuid_not_found [0.128165s] ... 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-4f6008eb-0fcc-460e-9457-f6357df8e4ad
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_free_space_raises [0.079594s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_uuid_not_found_old_api_version [0.087965s] ... 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-15eaf671-b992-4013-b885-f091c556f3ab
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.common.test_utils.TempFilesTestCase.test_check_dir_no_dir [0.072221s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_some_invalid_local_link_connection_key [0.067636s] ... 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-315bc811-b1d1-4c9e-b4a7-761ed9b60cf7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_109_nodes_management_indicators_get_observer [0.281643s] ... 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-5a2a0185-eb3b-4872-a581-6f930603aa76
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_valid_extra [0.132698s] ... 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-f27931e7-2e45-4abb-bdea-a6899fb32c46
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:27:21.162296+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-9273c9f5-f514-4934-bfdf-b117f964c4eb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:27:21.162296+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"}
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_nopxe_noportgroup [0.072881s] ... 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-8439e632-bf9b-484d-9f69-4912e0abd07f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:27:21.264106+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}
{3} 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.api.controllers.v1.test_port.TestPost.test_create_port_vif_nopxe_portgroup_standalone_ports [0.132685s] ... 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-aeebdb3b-1eb6-493a-af17-803fbdc6dab1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:27:21.379860+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"}
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_noportgroup [0.148587s] ... 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-4e7a14c2-2b3a-4ec7-88fd-51fadd630c55
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:27:21.558541+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}
{2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_ok [0.528562s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_portgroup_nostandalone_ports [0.077709s] ... 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-7775b9f5-aecb-43a2-97ab-07074a415887
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}"}
{2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_with_pass_in [0.085105s] ... ok
{2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficient [0.057849s] ... ok
{3} 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.
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_portgroup_standalone_ports [0.085454s] ... 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-119bf05e-c475-41da-a071-7d17037420fc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:27:21.719600+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_swift.SwiftTestCase.test_create_object_from_data_create_object_fails [0.853803s] ... ok
{2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficient_good [0.072470s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_both_node_ident_and_node_uuid [0.070892s] ... 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-006cd543-1548-4877-8149-90f68f4d86e8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}"}
{2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficient_recovers [0.089854s] ... ok
{2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficient_warning_only [0.074771s] ... ok
{3} 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.
{2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir [0.105164s] ... ok
{2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked [0.101985s] ... ok
{2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked_error_on_rmtree [0.062964s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_113_portgroups_get_admin [0.275475s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-9d52c7ec-7b94-4c83-bb49-04d2420cd950
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.common.test_vnc.VncTestCase.test_get_console [0.093107s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_hyphens_delimiter [0.537457s] ... 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-e4f19654-08f1-4e51-8364-0234a00d5c79
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_114_portgroups_get_member [0.167982s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-40087e0c-d9c9-4478-a729-9a817d10c4de
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"}
{2} ironic.tests.unit.common.test_vnc.VncTestCase.test_novnc_authorize [0.130246s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_internal_field [0.172509s] ... 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-3079819b-1068-4356-bf74-679e552e0c39
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.common.test_vnc.VncTestCase.test_novnc_unauthorize [0.140908s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_115_portgroups_get_observer [0.213810s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-5465ce9c-9b2e-49ee-879e-0beebbf27b75
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.common.test_vnc.VncTestCase.test_novnc_validate [0.146299s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic [0.300095s] ... 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-36e07ed5-a08b-421e-8ab5-a9ae078146f8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:27:22.762356+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.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_116_portgroups_post_admin [0.216878s] ... 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/4f5e9585-d199-4e43-bf21-a36cd2a046c5
Openstack-Request-Id: req-968fab2f-cc49-4358-951b-3716d039c2ea
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "4f5e9585-d199-4e43-bf21-a36cd2a046c5", "created_at": "2025-05-30T17:27:22.836364+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/4f5e9585-d199-4e43-bf21-a36cd2a046c5", "rel": "self"}, {"href": "http://localhost/portgroups/4f5e9585-d199-4e43-bf21-a36cd2a046c5", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/4f5e9585-d199-4e43-bf21-a36cd2a046c5/ports", "rel": "self"}, {"href": "http://localhost/portgroups/4f5e9585-d199-4e43-bf21-a36cd2a046c5/ports", "rel": "bookmark"}]}
{2} ironic.tests.unit.common.test_vnc.VncTestCase.test_novnc_validate_expired [0.116372s] ... ok
{2} ironic.tests.unit.common.test_vnc.VncTestCase.test_token_valid_until [0.091320s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_117_portgroups_post_member [0.217546s] ... 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-4a20f43b-fe70-4868-b00f-18725c18cf65
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_default_value [0.275737s] ... 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-2dda18de-79bd-44e0-baf9-55a359771c7f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:27:23.033473+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_swift.SwiftTestCase.test_delete_object [1.360474s] ... ok
{2} ironic.tests.unit.conductor.test_base_manager.RegisterInterfacesTestCase.test__register_and_validate_hardware_interfaces [0.288017s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_port.TestPost.test_create_port_with_is_smartnic_missing_hostname [0.209544s] ... 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-6d1db396-b474-4796-bd93-82b1223a2e58
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Smart NIC port must have port_id and hostname in local_link_connection\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_118_portgroups_post_observer [0.305355s] ... 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-02d8645e-9a07-4315-9df1-7c01e3e00182
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_base_manager.RegisterInterfacesTestCase.test__register_and_validate_no_valid_default [0.205433s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_port.TestPost.test_create_port_with_is_smartnic_missing_port_id [0.178672s] ... 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-cee6fcb5-5911-434a-bcc0-369a80e98ea0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_119_portgroups_detail_get_admin [0.240936s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups/detail WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-2f14198f-62cf-40ec-9734-a94e58bff34f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:27:23.508375+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.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_old_api_version [0.213962s] ... 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-c44bda67-3baa-432b-9565-80c6a1bfc076
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_bad_step_return_value [0.262227s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_120_portgroups_detail_get_member [0.234250s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups/detail WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-7784efce-1252-45d5-ac18-1764275b448e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_llc_old_api_version [0.208854s] ... 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-08d2fe18-f1b0-447b-98c5-d49e7ce80d75
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object_exc [0.793727s] ... ok
{2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_execute_fail [0.225418s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_121_portgroups_detail_get_observer [0.280256s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups/detail WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-bd437776-0046-4401-8fd1-f717b8329291
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:27:24.017845+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.api.controllers.v1.test_port.TestPost.test_create_port_with_network_type_in_llc [0.276384s] ... 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-1f625bd3-b91a-44b4-9a3f-b6b7e75481c6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:27:24.150019+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"}
{2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_fail_in_tear_down_cleaning [0.362886s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_with_network_type_in_llc_old_api_version [0.230639s] ... 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-42448998-2d70-468e-a1c3-21df1a3c187a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_122_portgroups_portgroup_ident_get_admin [0.303626s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-4348db91-47d4-4200-96fb-aec97c734c69
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:27:24.295184+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.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_last_step_noop [0.224960s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{0} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object_exc_resource_not_found [0.815851s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_node_ident [0.340038s] ... 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-775e57ae-b474-420a-b300-f562a93b713c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:27:24.700424+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-238d5664-3e1b-4e3c-945d-1c4fe75b513d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:27:24.700424+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.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_123_portgroups_portgroup_ident_get_member [0.300214s] ... 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-a1f5af14-f0db-4796-a635-946c212030ab
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_no_steps [0.311461s] ... ok
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.api.controllers.v1.test_port.TestPost.test_create_port_with_node_ident_unsupported_api_version [0.205236s] ... 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-0a1ba779-bc9f-4877-86c7-36ef2b101234
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_124_portgroups_portgroup_ident_get_observer [0.335321s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-ddacd225-88d4-4b87-adee-be49892c5d33
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:27:24.908875+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.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_fast_track [0.270022s] ... ok
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.api.controllers.v1.test_port.TestPost.test_create_port_with_node_uuid [0.225425s] ... 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-b122bddc-35e6-4d18-824b-e80a6e9079ea
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:27:25.143536+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-d7358b0e-5942-42dc-8241-6fb7052bf4f0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:27:25.143536+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.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_last_step_noop_fast_track [0.137643s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_with_physical_network [0.159731s] ... 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-bebfcbbd-e4bb-4ae3-863e-94c3112541d4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:27:25.319329+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.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_bad_step_return_value [0.135030s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_execute_fail [0.076950s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_125_portgroups_portgroup_ident_patch_admin [0.386923s] ... 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-b9cea510-19a6-4bb8-9779-e002db376fdc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network_old_api_version [0.146354s] ... 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-a73bbe5b-8446-49f9-9a78-2de3d0051774
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_fail_in_tear_down_cleaning [0.184469s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_with_physical_network_upgrade [0.212669s] ... 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-a0834ff6-be9c-49e4-b762-f020cf5100e6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_126_portgroups_portgroup_ident_patch_member [0.286066s] ... 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-5b73ef22-1762-447f-8a73-787aa120662a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_last_step_noop [0.137726s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_with_pxe_enabled_old_api_version [0.125971s] ... 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-cb4a472c-4e97-418f-b885-0d7fb5baa70a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_127_portgroups_portgroup_ident_patch_observer [0.182183s] ... 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-a7fe4024-efbd-484d-bd47-28f67f928f37
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_without_node_or_node_uuid [0.088676s] ... 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-c972d4aa-c081-4f70-bbb4-b70b4a39861f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}"}
{2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_no_steps [0.288768s] ... ok
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.TestRBACModelBeforeScopes.test_rbac_legacy_128_portgroups_portgroup_ident_delete_admin [0.177727s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-cb11c589-dd5a-4778-912f-c4dd4c174c8c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_node_uuid_to_node_id_mapping [0.239021s] ... 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-3784d810-3d4c-42ae-a3d1-7bd4082c030e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:27:26.171508+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.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_129_portgroups_portgroup_ident_delete_member [0.160899s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-3dcbaa11-3d2b-4836-872d-a3cf2cfe1ef5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_retired_last_step_change_tgt_state [0.183710s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_portgroups_subresource_post [0.183318s] ... 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-918f2a83-d296-4992-b6ea-2c2e9e9e90c8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated [0.179964s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_130_portgroups_portgroup_ident_delete_observer [0.203463s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-7738c504-9559-45c5-8fb5-15797267d05b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links [0.121120s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups/?limit=3 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-095e14f8-73b0-4fdb-8561-6a072f1f068b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"portgroups": [{"uuid": "28a12cd8-9040-42ac-b00a-1f60a2bc0f61", "address": "52:54:00:cf:2d:30", "name": "portgroup0", "links": [{"href": "http://localhost/v1/portgroups/28a12cd8-9040-42ac-b00a-1f60a2bc0f61", "rel": "self"}, {"href": "http://localhost/portgroups/28a12cd8-9040-42ac-b00a-1f60a2bc0f61", "rel": "bookmark"}]}, {"uuid": "25c4739c-a595-47d9-98ea-bb2b9c86628e", "address": "52:54:00:cf:2d:31", "name": "portgroup1", "links": [{"href": "http://localhost/v1/portgroups/25c4739c-a595-47d9-98ea-bb2b9c86628e", "rel": "self"}, {"href": "http://localhost/portgroups/25c4739c-a595-47d9-98ea-bb2b9c86628e", "rel": "bookmark"}]}, {"uuid": "f1017653-f274-4a0f-9336-2aac67d2af8f", "address": "52:54:00:cf:2d:32", "name": "portgroup2", "links": [{"href": "http://localhost/v1/portgroups/f1017653-f274-4a0f-9336-2aac67d2af8f", "rel": "self"}, {"href": "http://localhost/portgroups/f1017653-f274-4a0f-9336-2aac67d2af8f", "rel": "bookmark"}]}], "next": "http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=3&marker=f1017653-f274-4a0f-9336-2aac67d2af8f"}
{0} ironic.tests.unit.common.test_swift.SwiftTestCase.test_get_temp_url [1.861963s] ... ok
{2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios [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(
{0} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities [0.069831s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links_custom_fields [0.118015s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups?fields=address,uuid WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-de23ea20-7ce8-4161-a15f-80f8c704998e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"portgroups": [{"uuid": "ecc21690-6144-4266-b601-b3a8c81c1735", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/portgroups/ecc21690-6144-4266-b601-b3a8c81c1735", "rel": "self"}, {"href": "http://localhost/portgroups/ecc21690-6144-4266-b601-b3a8c81c1735", "rel": "bookmark"}]}, {"uuid": "574f85f5-cec4-4c61-b3e0-fbd5aef08b5a", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/portgroups/574f85f5-cec4-4c61-b3e0-fbd5aef08b5a", "rel": "self"}, {"href": "http://localhost/portgroups/574f85f5-cec4-4c61-b3e0-fbd5aef08b5a", "rel": "bookmark"}]}, {"uuid": "7cafaff7-7f4c-4b00-a699-7737f7f7e7c2", "address": "52:54:00:cf:2d:32", "links": [{"href": "http://localhost/v1/portgroups/7cafaff7-7f4c-4b00-a699-7737f7f7e7c2", "rel": "self"}, {"href": "http://localhost/portgroups/7cafaff7-7f4c-4b00-a699-7737f7f7e7c2", "rel": "bookmark"}]}], "next": "http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=address,uuid&limit=3&marker=7cafaff7-7f4c-4b00-a699-7737f7f7e7c2"}
{0} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_add_to_existing_capabilities [0.067802s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_131_nodes_portgroups_get_admin [0.259036s] ... 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-223bfa1c-ad52-40ee-bf7e-a21c666422ca
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios_exception [0.144652s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{0} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_capabilities_not_dict [0.072862s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links_default_limit [0.133858s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-a5e07e79-f69f-43ec-aac4-ef72208c633d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"portgroups": [{"uuid": "fc3eb783-dc41-4e73-b6df-10b97be5b649", "address": "52:54:00:cf:2d:30", "name": "portgroup0", "links": [{"href": "http://localhost/v1/portgroups/fc3eb783-dc41-4e73-b6df-10b97be5b649", "rel": "self"}, {"href": "http://localhost/portgroups/fc3eb783-dc41-4e73-b6df-10b97be5b649", "rel": "bookmark"}]}, {"uuid": "73e447da-ff4f-4df7-b86f-9245963c072f", "address": "52:54:00:cf:2d:31", "name": "portgroup1", "links": [{"href": "http://localhost/v1/portgroups/73e447da-ff4f-4df7-b86f-9245963c072f", "rel": "self"}, {"href": "http://localhost/portgroups/73e447da-ff4f-4df7-b86f-9245963c072f", "rel": "bookmark"}]}, {"uuid": "1eb60b3d-891b-475f-bf29-6bf645426cb8", "address": "52:54:00:cf:2d:32", "name": "portgroup2", "links": [{"href": "http://localhost/v1/portgroups/1eb60b3d-891b-475f-bf29-6bf645426cb8", "rel": "self"}, {"href": "http://localhost/portgroups/1eb60b3d-891b-475f-bf29-6bf645426cb8", "rel": "bookmark"}]}], "next": "http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=3&marker=1eb60b3d-891b-475f-bf29-6bf645426cb8"}
{0} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_invalid_capabilities [0.071716s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail [0.102952s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups/detail WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-bf16fd1a-cab0-46af-a7a3-f2a0163d2e63
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:27:26.886431+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.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios_unsupported [0.154723s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{0} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_multiple_keys [0.088496s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_against_single [0.079165s] ... 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-5ba10357-4390-482f-b6c9-ae819c5de97d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_disabled [0.134652s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_portgroup.TestListPortgroups.test_detail_by_node_name_ok [0.092245s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups/detail?node=test-node WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-66db3953-be82-4844-9927-6c3e73525ae2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:27:27.060182+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.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_replace_to_existing_capabilities [0.124198s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_132_nodes_portgroups_get_member [0.375798s] ... 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-b99a0d9f-1a24-4d07-884f-610e9ac7dc02
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_portgroup.TestListPortgroups.test_detail_invalid_api_version [0.067947s] ... 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\": \"\"}"}
{0} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_validate_network_port [0.077395s] ... ok
{2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_disabled_individual_disabled [0.138601s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_portgroup.TestListPortgroups.test_detail_query [0.079446s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups?detail=True WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-1817950e-468d-45bc-a831-932099f20a78
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:27:27.224256+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.GetUpdatedCapabilitiesTestCase.test_validate_network_port_fail [0.059333s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_133_nodes_portgroups_get_observer [0.197038s] ... 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-6c742846-8461-4d7f-af52-d363ae5d45b5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.IsHttpUrlTestCase.test_is_http_url [0.080787s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_134_nodes_portgroups_detail_get_admin [0.090819s] ... 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-acfaf338-f151-4207-a382-b17d00b16e40
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:27:27.386060+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.MatchRootDeviceTestCase.test_find_devices_all [0.092512s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_query_false [0.202114s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-72d5e64d-b0f4-49db-9ded-32d3f3b8590d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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-c9f8560f-4f8d-4292-9012-487f829e77d4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.MatchRootDeviceTestCase.test_find_devices_name [0.103013s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_sort_key_allowed [0.157325s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups/detail?sort_key=mode WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-5843f97c-caff-450b-95d2-ccfdb0b74a09
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"portgroups": [{"uuid": "bf8d85d5-9164-4385-96d5-9fb741e68fb9", "created_at": "2025-05-30T17:27:27.595147+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/bf8d85d5-9164-4385-96d5-9fb741e68fb9", "rel": "self"}, {"href": "http://localhost/portgroups/bf8d85d5-9164-4385-96d5-9fb741e68fb9", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/bf8d85d5-9164-4385-96d5-9fb741e68fb9/ports", "rel": "self"}, {"href": "http://localhost/portgroups/bf8d85d5-9164-4385-96d5-9fb741e68fb9/ports", "rel": "bookmark"}]}, {"uuid": "b507da46-210e-4c52-90a4-71923aa9d1aa", "created_at": "2025-05-30T17:27:27.591630+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/b507da46-210e-4c52-90a4-71923aa9d1aa", "rel": "self"}, {"href": "http://localhost/portgroups/b507da46-210e-4c52-90a4-71923aa9d1aa", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/b507da46-210e-4c52-90a4-71923aa9d1aa/ports", "rel": "self"}, {"href": "http://localhost/portgroups/b507da46-210e-4c52-90a4-71923aa9d1aa/ports", "rel": "bookmark"}]}, {"uuid": "68679096-920d-41e6-a3a1-a43158c9cef4", "created_at": "2025-05-30T17:27:27.584084+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/68679096-920d-41e6-a3a1-a43158c9cef4", "rel": "self"}, {"href": "http://localhost/portgroups/68679096-920d-41e6-a3a1-a43158c9cef4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/68679096-920d-41e6-a3a1-a43158c9cef4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/68679096-920d-41e6-a3a1-a43158c9cef4/ports", "rel": "bookmark"}]}]}
{0} ironic.tests.unit.common.test_utils.MatchRootDeviceTestCase.test_find_devices_none [0.068825s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_135_nodes_portgroups_detail_get_member [0.241122s] ... 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-49890bba-c16d-4420-a017-6f58c6e42087
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_portgroup.TestListPortgroups.test_detail_sort_key_not_allowed [0.063754s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups/detail?sort_key=mode WITH {} GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-553022eb-085b-4548-a675-0c3123149b10
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.MatchRootDeviceTestCase.test_match_root_device_hints_empty_device_attribute [0.075107s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_and_fields [0.072853s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups?detail=True&fields=name WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-28824e99-0cce-476c-b191-6553de438620
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.common.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints [0.078020s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_false_and_fields [0.085523s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups?detail=False&fields=internal_info WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-051fa1db-1dd0-4f0e-bb07-57c9a3bfc6ef
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_utils.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints2 [0.092561s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_136_nodes_portgroups_detail_get_observer [0.277830s] ... 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-5d0fcf82-a7c2-4e64-9bd5-b553136b8087
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:27:27.826591+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.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints3 [0.065626s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_old_version [0.115878s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups?detail=True WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-1588e625-c0a9-4107-bc74-d810e2d36ad4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.common.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_no_device_found [0.059355s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_empty [0.084453s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-170dcfd0-50a0-4451-9f08-49c5e0d09398
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"portgroups": []}
{0} ironic.tests.unit.common.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_no_operators [0.059195s] ... ok
{2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_disabled_individual_enabled [0.869705s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{0} ironic.tests.unit.common.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_one_hint [0.050644s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_137_ports_get_admin [0.232233s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-c5d35b54-dd5a-4f38-bde2-6317dcf87fca
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.MatchRootDeviceTestCase.test_match_root_device_hints_rotational [0.042998s] ... ok
{0} ironic.tests.unit.common.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_rotational_convert_devices_bool [0.040220s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_by_conductor_groups [0.170376s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups?conductor_groups=group_a,group_b WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-2a43effe-f6b0-4392-be51-36225f9f85fb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"portgroups": [{"uuid": "bc0bb17d-f285-48ac-a6b2-2ca07600ebea", "address": "52:54:00:cf:2d:30", "name": "foo-0", "links": [{"href": "http://localhost/v1/portgroups/bc0bb17d-f285-48ac-a6b2-2ca07600ebea", "rel": "self"}, {"href": "http://localhost/portgroups/bc0bb17d-f285-48ac-a6b2-2ca07600ebea", "rel": "bookmark"}]}, {"uuid": "98196bcc-4366-4189-a23e-aee4a4d6780f", "address": "52:54:00:cf:2d:31", "name": "foo-1", "links": [{"href": "http://localhost/v1/portgroups/98196bcc-4366-4189-a23e-aee4a4d6780f", "rel": "self"}, {"href": "http://localhost/portgroups/98196bcc-4366-4189-a23e-aee4a4d6780f", "rel": "bookmark"}]}, {"uuid": "c0deeb64-0c98-441e-be91-3e4f29bf0441", "address": "52:54:00:cf:2d:33", "name": "foo-3", "links": [{"href": "http://localhost/v1/portgroups/c0deeb64-0c98-441e-be91-3e4f29bf0441", "rel": "self"}, {"href": "http://localhost/portgroups/c0deeb64-0c98-441e-be91-3e4f29bf0441", "rel": "bookmark"}]}, {"uuid": "4ae3704a-feef-4fb7-a1c7-220d0d35d170", "address": "52:54:00:cf:2d:34", "name": "foo-4", "links": [{"href": "http://localhost/v1/portgroups/4ae3704a-feef-4fb7-a1c7-220d0d35d170", "rel": "self"}, {"href": "http://localhost/portgroups/4ae3704a-feef-4fb7-a1c7-220d0d35d170", "rel": "bookmark"}]}, {"uuid": "b409e727-5399-46d8-ae37-2a09ca977f88", "address": "52:54:00:cf:2d:35", "name": "foo-5", "links": [{"href": "http://localhost/v1/portgroups/b409e727-5399-46d8-ae37-2a09ca977f88", "rel": "self"}, {"href": "http://localhost/portgroups/b409e727-5399-46d8-ae37-2a09ca977f88", "rel": "bookmark"}]}]}
GET /v1/portgroups?conductor_groups=group_b WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-4644225a-f740-4e22-a494-f9f3aadd67f1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"portgroups": [{"uuid": "c0deeb64-0c98-441e-be91-3e4f29bf0441", "address": "52:54:00:cf:2d:33", "name": "foo-3", "links": [{"href": "http://localhost/v1/portgroups/c0deeb64-0c98-441e-be91-3e4f29bf0441", "rel": "self"}, {"href": "http://localhost/portgroups/c0deeb64-0c98-441e-be91-3e4f29bf0441", "rel": "bookmark"}]}, {"uuid": "4ae3704a-feef-4fb7-a1c7-220d0d35d170", "address": "52:54:00:cf:2d:34", "name": "foo-4", "links": [{"href": "http://localhost/v1/portgroups/4ae3704a-feef-4fb7-a1c7-220d0d35d170", "rel": "self"}, {"href": "http://localhost/portgroups/4ae3704a-feef-4fb7-a1c7-220d0d35d170", "rel": "bookmark"}]}, {"uuid": "b409e727-5399-46d8-ae37-2a09ca977f88", "address": "52:54:00:cf:2d:35", "name": "foo-5", "links": [{"href": "http://localhost/v1/portgroups/b409e727-5399-46d8-ae37-2a09ca977f88", "rel": "self"}, {"href": "http://localhost/portgroups/b409e727-5399-46d8-ae37-2a09ca977f88", "rel": "bookmark"}]}]}
GET /v1/portgroups?conductor_groups=no_such_group WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-ded15b98-6462-4063-a06d-63edd3299dc3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"portgroups": []}
{2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled [0.171915s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{0} ironic.tests.unit.common.test_utils.ValidateConductorGroupTestCase.test_validate_conductor_group_fail [0.058444s] ... ok
{0} ironic.tests.unit.common.test_utils.ValidateConductorGroupTestCase.test_validate_conductor_group_success [0.054964s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_138_ports_get_member [0.157536s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-f7a7b031-87dc-4d89-8ca1-24324a4c0bea
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_by_node_name_ok [0.133246s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups?node=test-node WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-6fedc356-e1f2-4725-8e85-89369ef212c6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"portgroups": [{"uuid": "bc1da7ea-5ea7-464b-b83c-c13d0b33f7bf", "address": "52:54:00:cf:2d:30", "name": "portgroup0", "links": [{"href": "http://localhost/v1/portgroups/bc1da7ea-5ea7-464b-b83c-c13d0b33f7bf", "rel": "self"}, {"href": "http://localhost/portgroups/bc1da7ea-5ea7-464b-b83c-c13d0b33f7bf", "rel": "bookmark"}]}, {"uuid": "a5112b2c-2b2d-4384-bec8-38e679af70c1", "address": "52:54:00:cf:2d:31", "name": "portgroup1", "links": [{"href": "http://localhost/v1/portgroups/a5112b2c-2b2d-4384-bec8-38e679af70c1", "rel": "self"}, {"href": "http://localhost/portgroups/a5112b2c-2b2d-4384-bec8-38e679af70c1", "rel": "bookmark"}]}, {"uuid": "2143200b-51aa-4c96-a5db-0d81beb0d8db", "address": "52:54:00:cf:2d:32", "name": "portgroup2", "links": [{"href": "http://localhost/v1/portgroups/2143200b-51aa-4c96-a5db-0d81beb0d8db", "rel": "self"}, {"href": "http://localhost/portgroups/2143200b-51aa-4c96-a5db-0d81beb0d8db", "rel": "bookmark"}]}]}
{2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_disabled [0.149386s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_portgroup.TestListPortgroups.test_get_all_by_node_uuid_ok [0.084776s] ... 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-b2e78825-eb43-4f8d-88de-b43c0b39bd7a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:27:28.430971+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.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive [0.160404s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACModelBeforeScopes.test_rbac_legacy_139_ports_get_observer [0.207108s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-d1066154-31ae-4b64-804f-53da235fb62a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive_failed_db_conn [0.082807s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_get_all_ports_by_portgroup_uuid [0.161877s] ... 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-ef4c8f84-38dd-4063-9661-e59f323af725
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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"}]}]}
{2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_enabled [0.229337s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive_failed_error [0.159994s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_get_collection_custom_fields [0.208222s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups?fields=uuid,extra WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-92841eef-8989-441f-8241-6b107a2ad377
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"portgroups": [{"uuid": "6e6c1fff-94bb-4769-8585-1c430603a7a1", "extra": {}, "links": [{"href": "http://localhost/v1/portgroups/6e6c1fff-94bb-4769-8585-1c430603a7a1", "rel": "self"}, {"href": "http://localhost/portgroups/6e6c1fff-94bb-4769-8585-1c430603a7a1", "rel": "bookmark"}]}, {"uuid": "25c8cb47-4132-402d-a7f9-4e560ab2a594", "extra": {}, "links": [{"href": "http://localhost/v1/portgroups/25c8cb47-4132-402d-a7f9-4e560ab2a594", "rel": "self"}, {"href": "http://localhost/portgroups/25c8cb47-4132-402d-a7f9-4e560ab2a594", "rel": "bookmark"}]}, {"uuid": "ca6ce520-225e-4912-a44a-f968e9b6e50c", "extra": {}, "links": [{"href": "http://localhost/v1/portgroups/ca6ce520-225e-4912-a44a-f968e9b6e50c", "rel": "self"}, {"href": "http://localhost/portgroups/ca6ce520-225e-4912-a44a-f968e9b6e50c", "rel": "bookmark"}]}]}
{0} ironic.tests.unit.conductor.test_base_manager.MiscTestCase.test__fail_transient_state [0.123722s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACModelBeforeScopes.test_rbac_legacy_140_ports_post_admin [0.318660s] ... 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-ded82cef-aeac-4c97-b899-ff71d9216ff8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 68a552fb-dcd2-43bf-9302-e4c93287be16 could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_base_manager.MiscTestCase.test__fail_transient_state_maintenance [0.137117s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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(
{2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_none [0.382039s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_portgroup.TestListPortgroups.test_get_collection_pagination_no_uuid [0.228129s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups?fields=address&limit=2 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-96936841-00f0-42c7-9304-95442c2aebf6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"portgroups": [{"address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/portgroups/6fa7c69d-9aa6-4027-b44f-5d964a3d1e00", "rel": "self"}, {"href": "http://localhost/portgroups/6fa7c69d-9aa6-4027-b44f-5d964a3d1e00", "rel": "bookmark"}]}, {"address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/portgroups/9fa8d221-f9c7-4918-a193-0a5b187b5f6a", "rel": "self"}, {"href": "http://localhost/portgroups/9fa8d221-f9c7-4918-a193-0a5b187b5f6a", "rel": "bookmark"}]}], "next": "http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=address&limit=2&marker=9fa8d221-f9c7-4918-a193-0a5b187b5f6a"}
{0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_all [0.181969s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACModelBeforeScopes.test_rbac_legacy_141_ports_post_member [0.342820s] ... 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-10db8197-34d1-464d-924d-0cbfdf9cae8b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_properties_field_lower_api_version [0.144040s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups/?fields=address,properties WITH {} GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-d3ad441b-a95f-4d14-829f-0747b497cd20
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_async [0.125151s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_network_validate_fail [0.286122s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_portgroup.TestListPortgroups.test_get_custom_fields_invalid_fields [0.203731s] ... 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-cf849554-f2f4-45e8-acb0-24a60e1c5a09
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_continue_from_last_step [0.143252s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_portgroup.TestListPortgroups.test_get_one [0.056208s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-6004a0b1-7453-448d-98a0-f7e188632c20
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:27:29.471339+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.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_custom_fields [0.040699s] ... 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-86766dfc-495b-4927-bd37-8ec774c5f290
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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"}]}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_142_ports_post_observer [0.346737s] ... 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-fd1b5fbc-201b-43a1-b99c-65a7d7a51c41
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_invalid_api_version [0.048174s] ... 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\": \"\"}"}
{2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_power_validate_fail [0.254723s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_portgroup.TestListPortgroups.test_get_one_mode_field_lower_api_version [0.038590s] ... 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-1d1c9df1-85d6-4d3a-ae8d-4477b4176bf9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_double_json_in_name [0.087255s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-318a1cfd-5c81-47fd-b666-b8ca5edc8fe5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:27:29.674417+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"}]}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_143_ports_detail_get_admin [0.150304s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports/detail WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-a0c1b7fc-8ca1-4ce0-9bc1-e2ddbdad11eb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:27:29.673204+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.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_prepare_clean_fail [0.166084s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_portgroup.TestListPortgroups.test_get_one_with_json [0.089906s] ... 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-a9ecebb4-f7b5-407f-878c-5360b6210731
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:27:29.767067+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.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_json_in_name [0.092299s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-a7ac337e-07bf-469e-be85-cb2175dbf102
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:27:29.858005+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"}]}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_144_ports_detail_get_member [0.228599s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports/detail WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-307b155f-d3a4-4c42-9383-ca9e97642eb2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_prepare_clean_wait [0.238712s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_portgroup.TestListPortgroups.test_get_one_with_json_not_found [0.261107s] ... 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-bfe8e796-e539-416b-a65e-b3cf28c8721d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4.json could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_suffix [0.042594s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-7f5d2ab0-41d3-49e4-bd05-3e2d166fc87d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:27:30.181488+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_portgroup.TestListPortgroups.test_links [0.072037s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups/a6532283-dfe6-40c0-8238-3d277f8eff06 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-7ebcb81a-c872-4f54-a84d-eab11e3c9549
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "a6532283-dfe6-40c0-8238-3d277f8eff06", "created_at": "2025-05-30T17:27:30.224215+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/a6532283-dfe6-40c0-8238-3d277f8eff06", "rel": "self"}, {"href": "http://localhost/portgroups/a6532283-dfe6-40c0-8238-3d277f8eff06", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/a6532283-dfe6-40c0-8238-3d277f8eff06/ports", "rel": "self"}, {"href": "http://localhost/portgroups/a6532283-dfe6-40c0-8238-3d277f8eff06/ports", "rel": "bookmark"}]}
GET /v1/portgroups/a6532283-dfe6-40c0-8238-3d277f8eff06 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-47f9c44b-2016-4344-bbaf-379f15a4642a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "a6532283-dfe6-40c0-8238-3d277f8eff06", "created_at": "2025-05-30T17:27:30.224215+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/a6532283-dfe6-40c0-8238-3d277f8eff06", "rel": "self"}, {"href": "http://localhost/portgroups/a6532283-dfe6-40c0-8238-3d277f8eff06", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/a6532283-dfe6-40c0-8238-3d277f8eff06/ports", "rel": "self"}, {"href": "http://localhost/portgroups/a6532283-dfe6-40c0-8238-3d277f8eff06/ports", "rel": "bookmark"}]}
GET /portgroups/a6532283-dfe6-40c0-8238-3d277f8eff06 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-d536a4ce-741c-4d24-aa46-fae118d81bb8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "a6532283-dfe6-40c0-8238-3d277f8eff06", "created_at": "2025-05-30T17:27:30.224215+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/a6532283-dfe6-40c0-8238-3d277f8eff06", "rel": "self"}, {"href": "http://localhost/portgroups/a6532283-dfe6-40c0-8238-3d277f8eff06", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/a6532283-dfe6-40c0-8238-3d277f8eff06/ports", "rel": "self"}, {"href": "http://localhost/portgroups/a6532283-dfe6-40c0-8238-3d277f8eff06/ports", "rel": "bookmark"}]}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_145_ports_detail_get_observer [0.302431s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports/detail WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-ad475aea-1311-4276-8887-af3e5cd5a729
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:27:30.115961+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.api.controllers.v1.test_portgroup.TestListPortgroups.test_many [0.055964s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-390b1c04-e57a-49e5-8764-7e0930fcbd45
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"portgroups": [{"uuid": "ea5bbf9a-48d0-44bc-a337-64ed08616ce6", "address": "52:54:00:cf:2d:30", "name": "portgroup0", "links": [{"href": "http://localhost/v1/portgroups/ea5bbf9a-48d0-44bc-a337-64ed08616ce6", "rel": "self"}, {"href": "http://localhost/portgroups/ea5bbf9a-48d0-44bc-a337-64ed08616ce6", "rel": "bookmark"}]}, {"uuid": "fc9608ae-6c1e-45d9-8409-ace77469a1b9", "address": "52:54:00:cf:2d:31", "name": "portgroup1", "links": [{"href": "http://localhost/v1/portgroups/fc9608ae-6c1e-45d9-8409-ace77469a1b9", "rel": "self"}, {"href": "http://localhost/portgroups/fc9608ae-6c1e-45d9-8409-ace77469a1b9", "rel": "bookmark"}]}, {"uuid": "cc211892-b741-4ae6-9ff9-84b4e8efd9ff", "address": "52:54:00:cf:2d:32", "name": "portgroup2", "links": [{"href": "http://localhost/v1/portgroups/cc211892-b741-4ae6-9ff9-84b4e8efd9ff", "rel": "self"}, {"href": "http://localhost/portgroups/cc211892-b741-4ae6-9ff9-84b4e8efd9ff", "rel": "bookmark"}]}, {"uuid": "6c51a8b0-30a1-4624-8caf-571ebac9813d", "address": "52:54:00:cf:2d:33", "name": "portgroup3", "links": [{"href": "http://localhost/v1/portgroups/6c51a8b0-30a1-4624-8caf-571ebac9813d", "rel": "self"}, {"href": "http://localhost/portgroups/6c51a8b0-30a1-4624-8caf-571ebac9813d", "rel": "bookmark"}]}, {"uuid": "d762f052-6458-4880-b903-0b8e93abc371", "address": "52:54:00:cf:2d:34", "name": "portgroup4", "links": [{"href": "http://localhost/v1/portgroups/d762f052-6458-4880-b903-0b8e93abc371", "rel": "self"}, {"href": "http://localhost/portgroups/d762f052-6458-4880-b903-0b8e93abc371", "rel": "bookmark"}]}]}
{1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_one [0.036098s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-8df4b799-d9aa-4475-a5cb-f43848725c6e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_dynamic [0.941924s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACModelBeforeScopes.test_rbac_legacy_146_ports_port_id_get_admin [0.181305s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-b4acd14c-b101-4fef-9380-4b66b698d98d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:27:30.426609+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.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_steps_fail [0.474348s] ... ok
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.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address [0.153450s] ... 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-82ef7818-bd21-4fb9-b8b5-4e0aae280bd6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"portgroups": [{"uuid": "b362b374-250a-4215-83a6-713ca64a6eb4", "address": "aa:bb:cc:dd:ee:f1", "name": "portgroup1", "links": [{"href": "http://localhost/v1/portgroups/b362b374-250a-4215-83a6-713ca64a6eb4", "rel": "self"}, {"href": "http://localhost/portgroups/b362b374-250a-4215-83a6-713ca64a6eb4", "rel": "bookmark"}]}]}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_147_ports_port_id_get_member [0.075218s] ... 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-d3955dea-6d0d-4c24-870a-cdd0dbef94cf
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_maintenance [0.172474s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_portgroup.TestListPortgroups.test_portgroup_by_address_invalid_address_format [0.137740s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups?address=invalid-mac-format WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-0fcb1aa1-d859-4db3-b500-9e5b9a0d1d64
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: invalid-mac-format\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual [0.085775s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_portgroup.TestListPortgroups.test_portgroup_by_address_non_existent_address [0.104409s] ... 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-3ce9b07d-c2eb-4f7e-9a29-ac1424a14226
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"portgroups": []}
{0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_fast_track [0.406072s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACModelBeforeScopes.test_rbac_legacy_148_ports_port_id_get_observer [0.311942s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-1b40b43d-a74d-49ee-a966-e2da5c8be3e6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:27:30.761939+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.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios [0.089055s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_portgroup.TestListPortgroups.test_portgroup_get_all_invalid_api_version [0.074252s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-69d16bec-79db-451b-9736-57a1eb47ae76
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_in_deploywait [0.151647s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACModelBeforeScopes.test_rbac_legacy_149_ports_port_id_patch_admin [0.113336s] ... 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-4eaf600c-3cb7-4f27-b1f0-17342bab219a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios_exception [0.119127s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_150_ports_port_id_patch_member [0.093629s] ... 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-c0191e39-0893-42b1-917d-84645c4d4251
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource [0.251599s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups/573c7643-99b4-4826-b081-1fb8c0305158/ports WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-eafd3b9e-467b-456e-985b-44912e0df349
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": [{"uuid": "5c6f990a-0a3d-426b-8ca9-94601d59e1ff", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/5c6f990a-0a3d-426b-8ca9-94601d59e1ff", "rel": "self"}, {"href": "http://localhost/ports/5c6f990a-0a3d-426b-8ca9-94601d59e1ff", "rel": "bookmark"}]}, {"uuid": "6deac0ec-034b-469a-8096-61fadf82c886", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/6deac0ec-034b-469a-8096-61fadf82c886", "rel": "self"}, {"href": "http://localhost/ports/6deac0ec-034b-469a-8096-61fadf82c886", "rel": "bookmark"}]}]}
GET /v1/portgroups/573c7643-99b4-4826-b081-1fb8c0305158/ports/detail WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-2d99e583-902f-419b-b48e-d6607f4ae8b0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": [{"uuid": "5c6f990a-0a3d-426b-8ca9-94601d59e1ff", "created_at": "2025-05-30T17:27:30.937428+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/5c6f990a-0a3d-426b-8ca9-94601d59e1ff", "rel": "self"}, {"href": "http://localhost/ports/5c6f990a-0a3d-426b-8ca9-94601d59e1ff", "rel": "bookmark"}], "portgroup_uuid": "573c7643-99b4-4826-b081-1fb8c0305158"}, {"uuid": "6deac0ec-034b-469a-8096-61fadf82c886", "created_at": "2025-05-30T17:27:30.948641+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/6deac0ec-034b-469a-8096-61fadf82c886", "rel": "self"}, {"href": "http://localhost/ports/6deac0ec-034b-469a-8096-61fadf82c886", "rel": "bookmark"}], "portgroup_uuid": "573c7643-99b4-4826-b081-1fb8c0305158"}]}
GET /v1/portgroups/573c7643-99b4-4826-b081-1fb8c0305158/ports?limit=1 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-77d8aa15-3c89-47cd-86d2-167f3d035cc9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": [{"uuid": "5c6f990a-0a3d-426b-8ca9-94601d59e1ff", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/5c6f990a-0a3d-426b-8ca9-94601d59e1ff", "rel": "self"}, {"href": "http://localhost/ports/5c6f990a-0a3d-426b-8ca9-94601d59e1ff", "rel": "bookmark"}]}], "next": "http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=1&marker=5c6f990a-0a3d-426b-8ca9-94601d59e1ff"}
GET /v1/portgroups/573c7643-99b4-4826-b081-1fb8c0305158/ports/c9af09fd-77a0-4a96-b863-e2bd406bd583 WITH {} GOT Response: 404 Not Found
Content-Type: application/json
{"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"}
GET /v1/portgroups/573c7643-99b4-4826-b081-1fb8c0305158/ports/81d71384-10a7-4049-a5a4-264ed8af4008 WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-9f972a69-286f-4303-bb37-43590cba4c91
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debug
    info\": null}"}
{2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios_unsupported [0.139427s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_151_ports_port_id_patch_observer [0.110843s] ... 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-213eb290-22b9-4672-9f57-736a71f21e01
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done [0.233361s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_portgroup.TestListPortgroups.test_ports_subresource_no_portgroups_allowed [0.111345s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups/290ab033-50ea-4b64-8850-a974b8d6d8c6/ports WITH {} GOT Response: 404 Not Found
Content-Type: application/json
{"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"}
{2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_disable_ramdisk [0.134295s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_152_ports_port_id_delete_admin [0.115466s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-d7906b5d-e56e-435c-973b-0e24658338d9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_not_allowed [0.079311s] ... 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.087737s] ... 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-cb8cf2e5-2f8f-4457-8294-8021287974e0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_network_validate_fail [0.158930s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_153_ports_port_id_delete_member [0.171720s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-687ee8c7-e83b-48ae-84bc-b6bbdac0e728
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done_with_console [0.328789s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key [0.129875s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups?sort_key=uuid WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-326876e0-7121-4740-ba62-9c5309bc7503
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"portgroups": [{"uuid": "6cc68e1f-7492-4ae0-b4a3-4571ce749df7", "address": "52:54:00:cf:2d:30", "name": "portgroup0", "links": [{"href": "http://localhost/v1/portgroups/6cc68e1f-7492-4ae0-b4a3-4571ce749df7", "rel": "self"}, {"href": "http://localhost/portgroups/6cc68e1f-7492-4ae0-b4a3-4571ce749df7", "rel": "bookmark"}]}, {"uuid": "b190e571-a6f9-4234-8a7a-58b3fdba59cd", "address": "52:54:00:cf:2d:32", "name": "portgroup2", "links": [{"href": "http://localhost/v1/portgroups/b190e571-a6f9-4234-8a7a-58b3fdba59cd", "rel": "self"}, {"href": "http://localhost/portgroups/b190e571-a6f9-4234-8a7a-58b3fdba59cd", "rel": "bookmark"}]}, {"uuid": "b34d9312-1c39-4701-a972-d52d7a9d1ea7", "address": "52:54:00:cf:2d:31", "name": "portgroup1", "links": [{"href": "http://localhost/v1/portgroups/b34d9312-1c39-4701-a972-d52d7a9d1ea7", "rel": "self"}, {"href": "http://localhost/portgroups/b34d9312-1c39-4701-a972-d52d7a9d1ea7", "rel": "bookmark"}]}]}
{2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_power_validate_fail [0.146159s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_portgroup.TestListPortgroups.test_sort_key_allowed [0.115142s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups?sort_key=mode WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-e33ea868-b772-4e0e-b7d7-e0085738505e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"portgroups": [{"uuid": "9c4474ba-bc59-4097-b6bc-4b2a9c3ddbe6", "address": "52:54:00:cf:2d:31", "name": "portgroup1", "links": [{"href": "http://localhost/v1/portgroups/9c4474ba-bc59-4097-b6bc-4b2a9c3ddbe6", "rel": "self"}, {"href": "http://localhost/portgroups/9c4474ba-bc59-4097-b6bc-4b2a9c3ddbe6", "rel": "bookmark"}]}, {"uuid": "9e4fd599-15e1-4099-8873-a75d9c4adeec", "address": "52:54:00:cf:2d:32", "name": "portgroup2", "links": [{"href": "http://localhost/v1/portgroups/9e4fd599-15e1-4099-8873-a75d9c4adeec", "rel": "self"}, {"href": "http://localhost/portgroups/9e4fd599-15e1-4099-8873-a75d9c4adeec", "rel": "bookmark"}]}, {"uuid": "5701a24f-c1a6-4e08-a40a-9c4ed8c1e1cc", "address": "52:54:00:cf:2d:33", "name": "portgroup3", "links": [{"href": "http://localhost/v1/portgroups/5701a24f-c1a6-4e08-a40a-9c4ed8c1e1cc", "rel": "self"}, {"href": "http://localhost/portgroups/5701a24f-c1a6-4e08-a40a-9c4ed8c1e1cc", "rel": "bookmark"}]}]}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_154_ports_port_id_delete_observer [0.296001s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-a021128e-b807-4379-b525-e039007ef764
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_prepare_clean_fail [0.227224s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_portgroup.TestListPortgroups.test_sort_key_invalid [0.156947s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups?sort_key=foo WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-51e5764e-381e-4b2b-bb75-ac07e3ec93eb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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-c012b696-d4ed-4bb0-a4c2-bf59cc5b9fb0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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-4982400a-719b-4306-bb2b-603f0630a99c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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-178535e9-ca13-4f91-9509-0fede3e6df03
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value properties is an invalid field for sorting\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done_with_console_error [0.342397s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_not_allowed [0.100658s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups?sort_key=mode WITH {} GOT Response: 406 Not Acceptable
Content-Type: application/json
Openstack-Request-Id: req-8d3bba5e-a9c8-45a8-aaba-4ba256bd0943
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_155_nodes_ports_get_admin [0.182002s] ... 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-082ac68f-0784-402e-aa37-3e0735e7f1d3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_prepare_clean_wait [0.172782s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_none [0.150920s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_portgroup.TestPost.test_create_portgroup [0.127724s] ... 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-723377ca-4773-4ea9-a9d4-fb08e9ec1809
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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-ec43e782-9dcc-4686-ac52-af3bce9fd1b3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_deploy [0.085205s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_156_nodes_ports_get_member [0.180405s] ... 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-32635f27-5cae-4c8c-b677-af78be59c3b4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_portgroup.TestPost.test_create_portgroup_address_already_exist [0.176765s] ... 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-772b7dad-3325-4cff-99b3-1880b8ce9f4c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:27:32.164064+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': '42b27833-006a-4928-b26e-0663de4a3eb5', 'name': '19511780-13f8-4053-a540-02c97a531e9f', '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-fbb22b1a-6de9-4c2a-8280-6150f424a852
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A portgroup with MAC address aa:aa:aa:11:22:33 already exists.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_steps_fail [0.291958s] ... ok
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.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_deploy_first_agent_boot [0.196822s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_157_nodes_ports_get_observer [0.203818s] ... 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-ccc42dda-f542-4025-8156-2e0812fe45bf
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_portgroup.TestPost.test_create_portgroup_address_normalized [0.192252s] ... 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-611328d6-3031-458b-a4e7-192d9151d6f6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:27:32.368812+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-b066db93-1c66-431d-af13-d4166e560931
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:27:32.368812+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"}]}
{2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_network_error_fail [0.211345s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_deployments.DoNextDeployStepTestCase.test_continue_node_deploy_no_skip_step [0.183073s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_158_nodes_ports_detail_get_admin [0.198809s] ... 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-dcb9d13c-6fda-4cb0-b85e-61d746f09d18
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:27:32.425055+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.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_default_mode [0.136831s] ... 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-c5a8c207-232b-4421-bfb6-e699e2f07aa7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:27:32.556639+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.conductor.test_cleaning.DoNodeCleanTestCase.test_continue_node_clean [0.144789s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_159_nodes_ports_detail_get_member [0.162343s] ... 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-00832038-1137-4d88-8678-af26462984ef
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_steps_validation [0.220226s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_portgroup.TestPost.test_create_portgroup_doesnt_contain_id [0.188584s] ... 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-2609d217-6f9b-4d24-a4e7-99969bb6b821
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:27:32.720148+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-ba9d7bcd-7a60-4959-ba4a-6d94a96bbb49
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:27:32.720148+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"}]}
{2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_continue_node_clean_no_skip_step [0.141531s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_160_nodes_ports_detail_get_observer [0.155443s] ... 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-dec04516-46bc-468e-a547-7484b7789e7a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:27:32.767172+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.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_error [0.137140s] ... 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-d7354aa1-9720-4827-99db-c65b51eefdef
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_agent_busy [0.195273s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_161_portgroups_ports_get_admin [0.154303s] ... 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-bc8239c3-05af-4956-91b4-40d264402c11
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": []}
{0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_agent_busy [0.346595s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_portgroup.TestPost.test_create_portgroup_generate_uuid [0.196527s] ... 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/dfb6ae17-7f8a-4af0-8914-2ae29a5b6754
Openstack-Request-Id: req-b59a936e-6210-43d5-bddf-11e03192be37
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "dfb6ae17-7f8a-4af0-8914-2ae29a5b6754", "created_at": "2025-05-30T17:27:33.065284+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/dfb6ae17-7f8a-4af0-8914-2ae29a5b6754", "rel": "self"}, {"href": "http://localhost/portgroups/dfb6ae17-7f8a-4af0-8914-2ae29a5b6754", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/dfb6ae17-7f8a-4af0-8914-2ae29a5b6754/ports", "rel": "self"}, {"href": "http://localhost/portgroups/dfb6ae17-7f8a-4af0-8914-2ae29a5b6754/ports", "rel": "bookmark"}]}
GET /v1/portgroups/dfb6ae17-7f8a-4af0-8914-2ae29a5b6754 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-87fed182-eb9b-49e7-9f30-f50786822335
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "dfb6ae17-7f8a-4af0-8914-2ae29a5b6754", "created_at": "2025-05-30T17:27:33.065284+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/dfb6ae17-7f8a-4af0-8914-2ae29a5b6754", "rel": "self"}, {"href": "http://localhost/portgroups/dfb6ae17-7f8a-4af0-8914-2ae29a5b6754", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/dfb6ae17-7f8a-4af0-8914-2ae29a5b6754/ports", "rel": "self"}, {"href": "http://localhost/portgroups/dfb6ae17-7f8a-4af0-8914-2ae29a5b6754/ports", "rel": "bookmark"}]}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_162_portgroups_ports_get_member [0.149325s] ... 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-7c5957af-8834-4f81-8d4f-7e84469390ea
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_internal_info_not_allowed [0.118111s] ... 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-ea574e4f-b3d0-4aa9-97fe-612412e820e1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for portgroup: Additional properties are not allowed ('internal_info' was unexpected)\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_163_portgroups_ports_get_observer [0.120812s] ... 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-ac6f646b-d055-4a5e-842c-497492b622ac
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": []}
{2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_automated_all [0.296210s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_164_portgroups_ports_detail_get_admin [0.087243s] ... 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-a135eb1a-696b-4400-853c-21816d0dcf54
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": []}
{1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_addr_format [0.137827s] ... 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-11c220e2-69fa-400a-b3fd-8a979ba54869
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: invalid-format\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_bad_step_return_value [0.419512s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_portgroup.TestPost.test_create_portgroup_invalid_api_version [0.105155s] ... 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-ff292ad2-0b69-4639-8f48-b46202d0dede
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_automated_first_step_async [0.202405s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_165_portgroups_ports_detail_get_member [0.170234s] ... 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-76d90250-b65d-4b41-999c-98b690f1ed8d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_node_uuid_format [0.117670s] ... 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-94f7a07d-c885-45af-aa96-b6480facf9c0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for node_uuid: invalid-format\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_166_portgroups_ports_detail_get_observer [0.125677s] ... 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-27843ad0-dfe6-44b9-9458-5ec3cd760160
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": []}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_167_volume_get_admin [0.077054s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-b7820d44-b0c4-493c-ac47-84c146a072e9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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"}]}
{1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_mode_old_api_version [0.175927s] ... 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-52ae1239-2ce2-42d0-b270-d8fd9d2ae836
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-670900fc-a3f0-4932-b0e0-0bbb1a46f63e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_168_volume_get_member [0.076609s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-f758eae2-0e34-419e-a2ad-26776582b7f3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_collect_logs [0.298423s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_169_volume_get_observer [0.074829s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-0a63b265-4039-410d-87c2-02e1b4c33944
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_execute_exception [0.394430s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_portgroup.TestPost.test_create_portgroup_mode_properties [0.096853s] ... 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-c2393329-5898-44cb-8865-2cb8a71f15b9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-30T17:27:33.886634+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.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_continue_from_last_cleaning [0.134149s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_170_volume_connectors_get_admin [0.084226s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-c05bd37c-d11b-4101-8d21-bb443990d6b9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"connectors": [{"uuid": "3f5f0ec9-a965-44a8-8b06-4e777c54e08b", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/3f5f0ec9-a965-44a8-8b06-4e777c54e08b", "rel": "self"}, {"href": "http://localhost/volume/connectors/3f5f0ec9-a965-44a8-8b06-4e777c54e08b", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]}
{1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_name_invalid [0.103576s] ... 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-ff49112c-1629-4901-81dd-6d449749f52f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot create portgroup with invalid name 'aa:bb_cc'\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_handles_hold_from_active [0.083978s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_171_volume_connectors_get_member [0.090570s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-1242fa8e-32ce-4a0b-acad-78dcece276ad
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_handles_hold_from_wait [0.052629s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_portgroup.TestPost.test_create_portgroup_name_ok [0.121906s] ... 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-da10e673-159f-4dea-a77b-cbc87091f6f7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:27:34.094492+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-3a96816d-c6a6-4201-9aa3-47dc9f14f4f6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:27:34.094492+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"}]}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_172_volume_connectors_get_observer [0.093285s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-7e6b9b91-b1e6-4d26-ba54-bc4538f3a3ee
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"connectors": [{"uuid": "2aca84a1-71d0-44d4-b00d-a451bf55c9de", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/2aca84a1-71d0-44d4-b00d-a451bf55c9de", "rel": "self"}, {"href": "http://localhost/volume/connectors/2aca84a1-71d0-44d4-b00d-a451bf55c9de", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]}
{2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_all [0.116266s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_execute_handled_exception [0.355172s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_portgroup.TestPost.test_create_portgroup_no_address [0.143997s] ... 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-5c83569a-be19-47fa-bc54-beed22301362
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:27:34.244604+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-7efbd5e4-c21c-4bd0-a65c-808bc98b0554
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:27:34.244604+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"}]}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_173_volume_connectors_post_admin [0.208237s] ... 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/5d910c4c-86e9-4347-9cc5-af4d4d855a8e
Openstack-Request-Id: req-508602bf-fd29-4f14-8794-de1bdc892986
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "5d910c4c-86e9-4347-9cc5-af4d4d855a8e", "created_at": "2025-05-30T17:27:34.341018+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/5d910c4c-86e9-4347-9cc5-af4d4d855a8e", "rel": "self"}, {"href": "http://localhost/volume/connectors/5d910c4c-86e9-4347-9cc5-af4d4d855a8e", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
{0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_execute_ironic_exception [0.132541s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_portgroup.TestPost.test_create_portgroup_no_mandatory_field_node_uuid [0.088330s] ... 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-e59e6568-3c9f-48c0-9284-dc49af22f3fa
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for portgroup: 'node_uuid' is a required property\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_all_disable_ramdisk [0.176524s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_handles_hold_from_active [0.074827s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_portgroup.TestPost.test_create_portgroup_node_uuid_not_found [0.081314s] ... 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-34b2402a-b63c-4b97-a018-2c36c1143ded
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_continue_from_last_cleaning [0.123624s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_handles_hold_from_wait [0.081712s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_portgroup.TestPost.test_create_portgroup_v123 [0.140333s] ... 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-ffe72221-28f7-4b4c-bdb5-8afd5a23118a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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-83051b95-d001-4196-bb6c-159b55edf715
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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"}]}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_174_volume_connectors_post_member [0.273197s] ... 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-aceeec71-68f2-4813-a2e5-a0911f2fb35a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_first_step_async [0.119060s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_portgroup.TestPost.test_create_portgroup_valid_extra [0.081878s] ... 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-551c8094-bfe7-48bc-a035-bd4db0d9d690
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:27:34.683029+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-24e988ee-b4ac-4099-953d-d176e7852331
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:27:34.683029+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"}]}
{2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot [0.127935s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_no_steps [0.246889s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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(
{1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_with_hyphens_delimiter [0.122439s] ... 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-c6402de1-e8f7-43cf-8452-287be9cf187e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: 52-54-00-cf-2d-31\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_175_volume_connectors_post_observer [0.286440s] ... 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-34ea22f2-0119-4714-b1fe-12999cfc2e9d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_node_uuid_to_node_id_mapping [0.114625s] ... 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-b96b5cfd-e7a3-4ec5-babc-86cd0e3f5afc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:27:34.932089+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.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot_fail [0.178911s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_bmc_address_as_none [0.051838s] ... 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-84c8781e-3600-43e5-b112-4f100d3d0a31
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "70284ef9-79d8-401e-8a08-a3668e5b8f3d"}
{1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspectionScopedRBAC.test_inspector_compatibility [0.043032s] ... 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-283a3c7b-9524-4a0b-a231-88bfd5664fa3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"uuid": "f3fb1c50-eeea-462c-a42f-2c4f8eff10b6"}
{0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_oob_reboot [0.248052s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestContinueInspectionScopedRBAC.test_invalid_schema [0.035702s] ... 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-56a46202-8c5a-4237-bd60-d6b7a8cad23e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for data: 'interfaces' is a required property\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot_last_step [0.121006s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_new_api [0.055966s] ... 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-c4325071-3331-44f8-912a-3f5a97f86ad6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"node": {"uuid": "2f50a736-7381-4ccd-ad93-f57573254046", "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/2f50a736-7381-4ccd-ad93-f57573254046", "rel": "self"}, {"href": "http://localhost/nodes/2f50a736-7381-4ccd-ad93-f57573254046", "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"]}}
{1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspectionScopedRBAC.test_no_usable_lookup_data [0.047317s] ... 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-b24b02d8-7fa5-489d-869d-eae0b9acc85d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No lookup information provided\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspectionScopedRBAC.test_old_api_version [0.041747s] ... 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-617f73b7-1fb9-4610-8cb2-54ae211ff125
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_176_volume_volume_connector_id_get_admin [0.296328s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors/7f3c8511-695d-4160-8b0e-1bb1302af1c7 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-b19d0b40-5e29-4ea9-b83c-105ef05cbb3c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "7f3c8511-695d-4160-8b0e-1bb1302af1c7", "created_at": "2025-05-30T17:27:35.090419+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/7f3c8511-695d-4160-8b0e-1bb1302af1c7", "rel": "self"}, {"href": "http://localhost/volume/connectors/7f3c8511-695d-4160-8b0e-1bb1302af1c7", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
{1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_bad_invalid_agent_status [0.053415s] ... 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-c734d74d-0fce-4e22-b658-d4f703127592
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_ramdisk.TestHeartbeat.test_heartbeat_rejects_different_callback_url [0.032741s] ... 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-9198068c-9832-4163-80c8-79f50c173e39
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Detected change in ramdisk provided \\\"callback_url\\\"\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_oob_reboot_fail [0.294534s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestHeartbeat.test_heartbeat_rejects_file_url [0.045790s] ... 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-da086c08-cd3d-417b-9ea6-e7640b82ad1f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"An issue with the supplied \\\"callback_url\\\" has been detected.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_node_not_found [0.043106s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/heartbeat/537d4bd5-daa2-4a0c-b278-e7d78a6f074e WITH {'callback_url': 'https://url'} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-53b7320c-d442-43d8-bcbf-87df6670472d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 537d4bd5-daa2-4a0c-b278-e7d78a6f074e could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_177_volume_volume_connector_id_get_member [0.218139s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors/5f21325e-cb35-4940-adc1-80cb11e4f787 WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-7d34f3f2-fac5-457f-b7dd-01039cff78b1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 5f21325e-cb35-4940-adc1-80cb11e4f787 could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_manager.ConcurrentActionLimitTestCase.test_concurrent_action_limit_cleaning [0.236821s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACModelBeforeScopes.test_rbac_legacy_178_volume_volume_connector_id_get_observer [0.175515s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors/cb28060b-457d-46ba-b933-10b2c6912efa WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-c56e96b2-08a7-490f-b8b6-ae18c363d8e2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "cb28060b-457d-46ba-b933-10b2c6912efa", "created_at": "2025-05-30T17:27:35.562090+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/cb28060b-457d-46ba-b933-10b2c6912efa", "rel": "self"}, {"href": "http://localhost/volume/connectors/cb28060b-457d-46ba-b933-10b2c6912efa", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
{0} ironic.tests.unit.conductor.test_manager.ConcurrentActionLimitTestCase.test_concurrent_action_limit_deploy [0.117023s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.CreateNodeTestCase.test_create_node [0.041038s] ... ok
{0} ironic.tests.unit.conductor.test_manager.CreateNodeTestCase.test_create_node_validation_fails [0.034560s] ... ok
{2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_node_clean_steps_fail_poweroff [0.725414s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestHeartbeat.test_ok [0.410968s] ... 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-9c2eb6d0-b733-4943-969e-77c0f02afbcc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_179_volume_volume_connector_id_patch_admin [0.208327s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/connectors/8df543d5-8335-4cf7-ba03-3c169ea8f13f WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-78937883-8837-4567-8618-99be3baab59c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_status_and_status [0.107401s] ... 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-8414c39b-0550-4e5a-b041-4e646c8f051c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{2} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive [0.147791s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_token [0.127906s] ... 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-a36aaa2e-5156-4b59-b791-7c9f68d7bbc1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{0} ironic.tests.unit.conductor.test_manager.DoNodeServiceTestCase.test_continue_node_service [0.311476s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACModelBeforeScopes.test_rbac_legacy_180_volume_volume_connector_id_patch_member [0.259944s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/connectors/7b4c1e48-3da0-4c9f-9a59-3d252cda4edf WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-2b6d3703-892b-4120-8ce1-2cb1e9ca6fbe
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 7b4c1e48-3da0-4c9f-9a59-3d252cda4edf could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift [0.156999s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_verify_ca [0.114735s] ... 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-e1abd322-a517-49e8-b112-6bb694ee9ebf
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{0} ironic.tests.unit.conductor.test_manager.DoNodeServiceTestCase.test_continue_node_service_abort [0.138702s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift_build [0.134904s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_version [0.116252s] ... 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-73282b8c-07fc-451d-926c-9e965020fc36
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{0} ironic.tests.unit.conductor.test_manager.DoNodeServiceTestCase.test_continue_node_service_abort_last_service_step [0.148327s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestHeartbeat.test_ok_by_name [0.115071s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/heartbeat/test.1 WITH {'callback_url': 'https://url', 'agent_token': 'token'} GOT Response: 202 Accepted
Openstack-Request-Id: req-ed0db96d-6372-42b3-88de-1aaec68e1a2a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{2} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift_no_deploy_timeout [0.145334s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_181_volume_volume_connector_id_patch_observer [0.312027s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/connectors/7f20d9b8-2190-494e-8612-59cdf698452e WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-abd1627d-9aff-4491-8ec5-963d37ada23e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_manager.DoNodeServiceTestCase.test_continue_node_service_locked [0.090788s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestHeartbeat.test_ok_for_anaconda [0.127908s] ... 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-43510228-bf23-4762-ba79-83dd365043bf
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{0} ironic.tests.unit.conductor.test_manager.DoNodeServiceTestCase.test_continue_node_service_worker_pool_full [0.101328s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_swift_no_deploy_timeout_fallback [0.160145s] ... ok
{0} ironic.tests.unit.conductor.test_manager.DoNodeServiceTestCase.test_continue_node_service_wrong_state [0.099516s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestHeartbeat.test_ok_with_json [0.151359s] ... 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-814a5d71-15c0-46ba-8ad2-3297db800ab3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.90
{2} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_boot_device [0.175100s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.DoNodeServiceTestCase.test_do_node_provision_action_unhold_service [0.106415s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestHeartbeat.test_old_API_agent_verify_ca_error [0.100393s] ... 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-71a22816-9e94-4705-a95a-eba4e960ab29
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_API_agent_version_error [0.047610s] ... 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-cb8d1bde-b55e-451e-aa6f-333c80b80bcb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_api_agent_status_error [0.034585s] ... 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-037ecce2-c699-49b2-81ba-6c9ce3520fd6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.conductor.test_manager.BootDeviceTestCase.test_get_boot_device_node_locked [0.120720s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_api_version [0.026807s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/heartbeat/90f58997-4e54-4ea0-b40c-a0131cd6de30 WITH {'callback_url': 'https://url'} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-41d6a76f-1ca6-4838-ade3-b724ec7d6fef
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.TestHeartbeatScopedRBAC.test_bad_invalid_agent_status [0.045154s] ... 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-994c6896-db44-4e5e-b444-9016d4bbb351
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_ramdisk.TestHeartbeatScopedRBAC.test_heartbeat_rejects_different_callback_url [0.033991s] ... 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-d6db61e2-a6b0-4490-94b3-0c8065f7286a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Detected change in ramdisk provided \\\"callback_url\\\"\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_manager.DoNodeServiceTestCase.test_do_node_service [0.236537s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_manager.BootDeviceTestCase.test_get_boot_device_validate_fail [0.148409s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_file_url [0.043520s] ... 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-8be5c45d-dc08-4ca1-89bd-5997d6ec8ce2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"An issue with the supplied \\\"callback_url\\\" has been detected.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_node_not_found [0.046624s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/heartbeat/6e28689e-4583-470b-be57-ab0a60be0749 WITH {'callback_url': 'https://url'} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-e5d610e0-b61f-4336-8874-3317351e321b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 6e28689e-4583-470b-be57-ab0a60be0749 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_supported_boot_devices [0.102785s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok [0.063876s] ... 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-73b00f3b-25c9-4c3d-9788-c6504678ae2d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{0} ironic.tests.unit.conductor.test_manager.DoNodeServiceTestCase.test_do_node_service_maintenance [0.203908s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_manager.BootDeviceTestCase.test_set_boot_device [0.070082s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_ok_agent_status_and_status [0.079024s] ... 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-e1b54ffe-7680-4ceb-95dd-0aa370fae8e7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_token [0.080381s] ... 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-85358478-2bbe-468b-b7d5-8421859ccdc1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{2} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device_node_locked [0.112145s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_182_volume_volume_connector_id_delete_admin [0.948052s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/connectors/52d4ad56-5b2e-4bed-871e-d00a355227b3 GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-084845c3-a8ff-487f-bdbe-199e131d39cd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_verify_ca [0.088961s] ... 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-4ec09168-b4c8-4362-8e93-5d53078c38c1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_version [0.080277s] ... 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-950019d2-7621-420b-9444-3ccc07a10a1d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{2} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device_validate_fail [0.171421s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_ok_by_name [0.096132s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/heartbeat/test.1 WITH {'callback_url': 'https://url', 'agent_token': 'token'} GOT Response: 202 Accepted
Openstack-Request-Id: req-64e7bb32-ec68-4007-95bb-593e5bbe43c5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_183_volume_volume_connector_id_delete_member [0.255394s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/connectors/32886ff1-509d-417f-99c7-e170375dfe6c GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-2a6fc0d1-e142-4457-8528-29dfbd7aaed4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 32886ff1-509d-417f-99c7-e170375dfe6c could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_for_anaconda [0.071685s] ... 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-3f79de32-aebc-4f5d-9117-b159a92ccfeb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_with_json [0.093375s] ... 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-dfa9ab40-e708-4542-af85-4b4081e49c12
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.90
{1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_API_agent_verify_ca_error [0.103097s] ... 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-857acc16-4178-49d4-8b71-2e3d825cd271
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_exception_in_background_task [0.407339s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_old_API_agent_version_error [0.066495s] ... 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-6443a776-4681-4988-ac16-e80a4c7329b4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.TestRBACModelBeforeScopes.test_rbac_legacy_184_volume_volume_connector_id_delete_observer [0.285168s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/connectors/117c0e63-485b-47c7-9bba-e1ffd581f553 GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-561f6c51-9130-4511-b6fb-d08db7410677
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_api_agent_status_error [0.067488s] ... 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-c84bb33b-f022-43f2-b09e-38a4b000c329
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.057202s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/heartbeat/819cd05a-1711-4719-bb08-b8241d69f9a4 WITH {'callback_url': 'https://url'} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-c9d3e081-a242-429e-86b8-e17907909797
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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_root.TestV1Routing.test_max_version [0.067756s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-679f99b5-dc52-4a9a-b1cd-7a2f2e521bd1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.99"}, "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_root.TestV1Routing.test_microversion_headers [0.061881s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_min_version [0.052800s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-c9530937-29f3-4127-95cc-728753abf16c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.99"}}
{1} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_route_checks_version [0.062200s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-701cbfd1-c8c3-49fa-9ec5-026bc91a8ca3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.99"}}
{2} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_node_already_locked [0.383032s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACModelBeforeScopes.test_rbac_legacy_185_volume_targets_get_admin [0.373202s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-01f6d491-85b7-48b8-9844-00d366ccf84c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"targets": [{"uuid": "06824adb-c087-4283-bf77-b3a0286cbf70", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/06824adb-c087-4283-bf77-b3a0286cbf70", "rel": "self"}, {"href": "http://localhost/volume/targets/06824adb-c087-4283-bf77-b3a0286cbf70", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]}
{1} ironic.tests.unit.api.controllers.v1.test_runbook.TestDelete.test_delete_by_name [0.113136s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/runbooks/CUSTOM_DT1 GOT Response: 204 No Content
Openstack-Request-Id: req-aa14354f-6a04-48dc-bc4d-461d009d073c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{1} ironic.tests.unit.api.controllers.v1.test_runbook.TestDelete.test_delete_by_name_non_existent [0.073804s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/runbooks/blah GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-d8d4072a-c818-409a-a92e-099eabf11237
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Runbook blah could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_186_volume_targets_get_member [0.203732s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-2aba8975-cd10-491a-8f21-953901b24bd3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_runbook.TestDelete.test_delete_by_uuid [0.087934s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/runbooks/b5dd96f4-9221-4b01-a2de-de13832e1eb2 GOT Response: 204 No Content
Openstack-Request-Id: req-3406f509-347b-4546-aedf-c24c8ac1cc6c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{1} ironic.tests.unit.api.controllers.v1.test_runbook.TestDelete.test_delete_invalid_api_version [0.065550s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/runbooks/57b1d1d2-287f-40a3-8a10-14fe9897918e 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\"}"}
{2} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_power_on [0.352283s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_runbook.TestDelete.test_delete_old_api_version [0.075457s] ... 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\"}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_187_volume_targets_get_observer [0.204343s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-7feb891c-dd1f-4dd4-9be4-2d14e0b384a4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"targets": [{"uuid": "20136a34-41ac-475c-ba2e-ed23a3256ef1", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/20136a34-41ac-475c-ba2e-ed23a3256ef1", "rel": "self"}, {"href": "http://localhost/volume/targets/20136a34-41ac-475c-ba2e-ed23a3256ef1", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]}
{1} ironic.tests.unit.api.controllers.v1.test_shard.TestListShards.test_empty [0.047884s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/shards WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-24b8dafd-8a3d-4fc2-a1c1-dd82291ec321
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"shards": []}
{1} ironic.tests.unit.api.controllers.v1.test_shard.TestListShards.test_fail_get_one [0.034333s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/shards/shard1 WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-095af87f-f40a-44f8-90a7-0992ab931e75
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The resource could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_shard.TestListShards.test_fail_get_one_wrong_version [0.044690s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/shards/shard1 WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-a0c5fe7e-5e52-46ab-b04c-e8058432fba8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.api.controllers.v1.test_shard.TestListShards.test_fail_post [0.029408s] ... 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\": \"\"}"}
{1} ironic.tests.unit.api.controllers.v1.test_shard.TestListShards.test_fail_put [0.043952s] ... 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\": \"\"}"}
{1} ironic.tests.unit.api.controllers.v1.test_shard.TestListShards.test_fail_wrong_version [0.047650s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/shards WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-19bc4223-3072-4eee-8b43-0ff390282c05
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_188_volume_targets_post_admin [0.256215s] ... 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/ad88657f-59b8-4ba0-b997-d0b664e663ec
Openstack-Request-Id: req-07466a3a-7d3b-43a7-a887-035f304849c2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "ad88657f-59b8-4ba0-b997-d0b664e663ec", "created_at": "2025-05-30T17:27:38.957982+00:00", "updated_at": null, "boot_index": 4, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/ad88657f-59b8-4ba0-b997-d0b664e663ec", "rel": "self"}, {"href": "http://localhost/volume/targets/ad88657f-59b8-4ba0-b997-d0b664e663ec", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
{1} ironic.tests.unit.api.controllers.v1.test_shard.TestListShards.test_multiple_shards [0.059102s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/shards WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-f4c82a1f-ebb2-4f4b-9480-eefe351bce10
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_soft_power_off_timeout [0.390233s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_shard.TestListShards.test_nodes_but_no_shards [0.043320s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/shards WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-a2fe77f5-7329-441f-9fa8-7ad8a0ca1f76
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"shards": [{"name": "None", "count": 5}]}
{1} ironic.tests.unit.api.controllers.v1.test_shard.TestListShards.test_one_shard [0.037280s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/shards WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-3a0f4874-d509-4aee-8c49-e4995731c0ee
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"shards": [{"name": "shard1", "count": 1}]}
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_alloc_policy_and_retrieve_no_alloc_policy_not_found [0.021792s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_allocation_policy_and_retrieve_no_allocation [0.025963s] ... ok
{0} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_from_valid_states [1.971888s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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()
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_allocation_policy_and_retrieve_policy_not_found [0.064687s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_node_policy_and_retrieve [0.054701s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_189_volume_targets_post_member [0.293513s] ... 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-573e3e16-43ee-46c3-8cf3-de9aa34a1a29
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_agent_token [0.050847s] ... ok
{0} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_ok_with_console [0.176711s] ... ok
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.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_configdrive_vendor_data [0.050994s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_deploy_steps [0.052271s] ... ok
{2} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_unsupported_state [0.392640s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestCheckAllowFields.test_allow_deploy_templates [0.055306s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_190_volume_targets_post_observer [0.199991s] ... 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-41d14389-0508-4ffc-81f4-f38965ef7b30
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_ok_without_console [0.178014s] ... ok
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.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_utils.TestCheckAllowFields.test_allow_dynamic_drivers [0.078495s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_inject_nmi [0.071497s] ... ok
{0} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_with_allocation [0.141432s] ... ok
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.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_utils.TestCheckAllowFields.test_allow_inspect_abort [0.075080s] ... ok
{2} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_validate_fail [0.303595s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACModelBeforeScopes.test_rbac_legacy_191_volume_volume_target_id_get_admin [0.267064s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets/9c8bc762-ceef-45a6-82bc-00a99123c334 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-0061260e-4ea0-4bd6-83f2-52dcfad2a0b7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "9c8bc762-ceef-45a6-82bc-00a99123c334", "created_at": "2025-05-30T17:27:39.674710+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/9c8bc762-ceef-45a6-82bc-00a99123c334", "rel": "self"}, {"href": "http://localhost/volume/targets/9c8bc762-ceef-45a6-82bc-00a99123c334", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_links_node_states_and_driver_properties [0.080214s] ... ok
{0} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_with_source_path [0.139397s] ... ok
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.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_utils.TestCheckAllowFields.test_allow_node_rebuild_with_configdrive [0.073160s] ... ok
{0} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_remove_vif_failed [0.111062s] ... ok
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.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_utils.TestCheckAllowFields.test_allow_port_advanced_net_fields [0.078104s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_internal_info [0.077274s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_192_volume_volume_target_id_get_member [0.266418s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets/10566244-f407-42b0-b776-dcb2e3fcf5eb WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-40f61695-2269-4368-b7b8-99d139959005
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 10566244-f407-42b0-b776-dcb2e3fcf5eb could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_console_raises_error [0.126634s] ... ok
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.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_is_smartnic [0.070495s] ... ok
{2} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_worker_pool_full [0.365881s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestCheckAllowFields.test_allow_port_physical_network_no_pin [0.083660s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_physical_network_pin [0.084502s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_portgroup_mode_properties [0.079337s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_193_volume_volume_target_id_get_observer [0.299397s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets/bbc30a3a-885a-4d90-b472-de932b5ff5d3 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-5a5d8430-f2ab-4e45-b7e9-738dbab8676a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "bbc30a3a-885a-4d90-b472-de932b5ff5d3", "created_at": "2025-05-30T17:27:40.246214+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/bbc30a3a-885a-4d90-b472-de932b5ff5d3", "rel": "self"}, {"href": "http://localhost/volume/targets/bbc30a3a-885a-4d90-b472-de932b5ff5d3", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
{0} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_driver_raises_error [0.365495s] ... ok
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.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_get_power_fail [0.346862s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_no_state_change [0.156092s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACModelBeforeScopes.test_rbac_legacy_194_volume_volume_target_id_patch_admin [0.280758s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/targets/30a098b0-5db3-499b-87a7-c9b0ad0a2813 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-a185fa8d-fed8-4b30-a74d-db15081dc770
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_portgroups [0.306334s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_portgroups_subcontrollers [0.021279s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_ramdisk_endpoints [0.022359s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_remove_chassis_uuid [0.043218s] ... ok
{0} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_invalid_state [0.305487s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestCheckAllowFields.test_allow_rescue_interface [0.023161s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_storage_interface [0.018763s] ... ok
{2} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_set_power_fail [0.156301s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_utils.TestCheckAllowFields.test_allow_traits [0.028634s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_volume [0.032518s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_abort_verbs [0.020300s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_abort_verbs_fail [0.021375s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_195_volume_volume_target_id_patch_member [0.257798s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/targets/f531122e-f743-4207-b81d-338b90583ee0 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-55f839f6-23b1-48ea-b66f-8219d0278649
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target f531122e-f743-4207-b81d-338b90583ee0 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_adopt_verbs [0.029264s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_adopt_verbs_fail [0.021958s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_clean_verbs [0.018930s] ... ok
{2} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_spawn_fail [0.158342s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestCheckAllowFields.test_check_allow_clean_verbs_fail [0.021755s] ... ok
{0} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_protected [0.262297s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestCheckAllowFields.test_check_allow_configdrive [0.041207s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_as_dict [0.045605s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_as_dict_invalid [0.046434s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_fails [0.024326s] ... ok
{2} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_success [0.169438s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_utils.TestCheckAllowFields.test_check_allow_configdrive_vendor_data_failed [0.023039s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_196_volume_volume_target_id_patch_observer [0.249264s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/targets/fa33eb55-2d24-4dbc-a695-f47b334c6af0 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-2d63c750-30d5-4fdc-b9b7-748ffcbffca8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps [0.033452s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps_empty [0.021042s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps_target_unsupported [0.040568s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps_version_older [0.020256s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_verbs [0.019170s] ... ok
{0} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_validate_fail [0.276085s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestCheckAllowFields.test_check_allow_deploy_verbs_fail [0.027671s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail [0.020664s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail_fail [0.019006s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail_false [0.018799s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail_none [0.019647s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group [0.021220s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_197_volume_volume_target_id_delete_admin [0.266242s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/targets/c81de7ed-91ff-4a81-9d4d-6ee507fb6a12 GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-e7f7ee64-56ab-4791-aa4d-0ec24b7cc624
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group_fail [0.019355s] ... ok
{2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_disable_console_already_disabled [0.325038s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group_none [0.032295s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type [0.036005s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type_fail [0.019995s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type_none [0.019063s] ... ok
{0} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_worker_pool_full [0.264898s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestCheckAllowFields.test_check_allow_inspect_verbs [0.021775s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_inspect_verbs_fail [0.022498s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_198_volume_volume_target_id_delete_member [0.169022s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/targets/cfc5e2dd-ca97-4f0a-826c-4df2355ff7fb GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-f10feafe-f0c3-4878-9f94-528f007a8e40
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target cfc5e2dd-ca97-4f0a-826c-4df2355ff7fb could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_manage_verbs [0.025230s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_manage_verbs_fail [0.031472s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_provide_verbs [0.020796s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_provide_verbs_fail [0.037267s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_199_volume_volume_target_id_delete_observer [0.132498s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/targets/8c799e85-c79f-4614-87d7-bcc4bb8ee7fb GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-93140520-896a-4400-bfd9-cbf883954e3b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_driver [0.046268s] ... ok
{0} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes [0.218732s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestCheckAllowFields.test_check_allow_specify_driver_fail [0.038485s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_200_nodes_volume_get_admin [0.093723s] ... 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-68327834-f600-4c57-a6b9-9c73894a74af
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.conductor.test_manager.ConsoleTestCase.test_enable_console_already_enabled [0.378570s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_fields [0.047368s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_fields_fail [0.049025s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_201_nodes_volume_get_member [0.081227s] ... 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-744bb3a6-720a-4e01-bd2f-52c6bfa48de0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console [0.114577s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_resource_class [0.067628s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_202_nodes_volume_get_observer [0.064828s] ... 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-0571bc71-785d-4f93-8888-83d660b1e181
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_alive [0.198015s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_utils.TestCheckAllowFields.test_check_allow_specify_resource_class_fail [0.077351s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_203_nodes_volume_connectors_get_admin [0.091177s] ... 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-64b6b355-2647-4729-a629-11eb16359f6b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"connectors": [{"uuid": "75190435-02f4-4000-a5ee-bf828a0808ef", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/75190435-02f4-4000-a5ee-bf828a0808ef", "rel": "self"}, {"href": "http://localhost/volume/connectors/75190435-02f4-4000-a5ee-bf828a0808ef", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]}
{2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_disabled [0.135693s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_undeploy_verbs [0.070067s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_204_nodes_volume_connectors_get_member [0.081069s] ... 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-aca26bcd-69a3-4df7-9343-a2540929a777
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_utils.TestCheckAllowFields.test_check_allow_undeploy_verbs_fail [0.071930s] ... ok
{2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_validate_fail [0.102828s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_205_nodes_volume_connectors_get_observer [0.081970s] ... 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-a2766c21-f261-4e4c-b609-056380241795
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"connectors": [{"uuid": "ea71a0bc-65b2-4417-9613-85a2a5019907", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/ea71a0bc-65b2-4417-9613-85a2a5019907", "rel": "self"}, {"href": "http://localhost/volume/connectors/ea71a0bc-65b2-4417-9613-85a2a5019907", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]}
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_unknown_verbs [0.060788s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_network_interface [0.067373s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_206_nodes_volume_targets_get_admin [0.095806s] ... 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-f935e3bc-f845-4774-a855-6ee364f6362b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"targets": [{"uuid": "4d1bfb9c-937b-43e4-b840-e825a2e082e0", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/4d1bfb9c-937b-43e4-b840-e825a2e082e0", "rel": "self"}, {"href": "http://localhost/volume/targets/4d1bfb9c-937b-43e4-b840-e825a2e082e0", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]}
{0} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_cleaning [0.348723s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestCheckAllowFields.test_check_allowed_fields_network_interface_fail [0.071553s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_207_nodes_volume_targets_get_member [0.085200s] ... 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-2ff17e02-a8bf-4aca-ba4e-3f44d0b04673
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_utils.TestCheckAllowFields.test_check_allowed_fields_rescue_interface_fail [0.053800s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_208_nodes_volume_targets_get_observer [0.083553s] ... 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-4e919218-f808-49be-a2d5-c9a2949c8935
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"targets": [{"uuid": "eca2aed2-792f-4088-b0ec-40e16cb95b29", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/eca2aed2-792f-4088-b0ec-40e16cb95b29", "rel": "self"}, {"href": "http://localhost/volume/targets/eca2aed2-792f-4088-b0ec-40e16cb95b29", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]}
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_resource_class [0.085490s] ... ok
{2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_disabled [0.340731s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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()
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_resource_class_fail [0.078899s] ... ok
{0} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_maintenance [0.309705s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_utils.TestCheckAllowFields.test_check_allowed_portgroup_fields_mode_properties [0.076076s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_209_drivers_get_admin [0.271474s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-52c1a02a-1652-4fb1-9146-39b34b5ca011
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"drivers": []}
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_portgroup_fields_mode_properties_fail [0.089997s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_210_drivers_get_member [0.075360s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-b68f875d-2574-476f-9b50-01109c2064c1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:get\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckMultipleNodePoliciesAndRetrieve.test_check_multiple_node_policies_and_retrieve [0.123341s] ... ok
{2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_enabled [0.364534s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACModelBeforeScopes.test_rbac_legacy_211_drivers_get_observer [0.143846s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-384b7643-8b6a-4cb1-ab9e-05badfbf67ae
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"drivers": []}
{1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckMultipleNodePoliciesAndRetrieve.test_check_multiple_node_policies_and_retrieve_first_fail [0.096654s] ... ok
{0} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_release_exceptions_skipping [0.394536s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_utils.TestCheckMultipleNodePoliciesAndRetrieve.test_check_node_policy_and_retrieve_no_node [0.082007s] ... ok
{2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_start_fail [0.233223s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_volume_connector.TestDelete.test_delete_volume_connector_byid [0.079322s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 204 No Content
Openstack-Request-Id: req-8dd549f6-f53e-4242-bce7-131be9b694c9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_212_drivers_driver_name_get_admin [0.180219s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers/fake-driverz WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-7131d52c-2cce-40e2-a71f-33737f350e7f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_byid_invalid_api_version [0.035281s] ... 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.080969s] ... 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-6d480a88-5ca9-450c-ab41-0e5dd8f403c0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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(
{1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_node_locked [0.101280s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 409 Conflict
Content-Type: application/json
Openstack-Request-Id: req-a0205a33-65a9-4d09-9f5d-7491e5a411ee
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.TestRBACModelBeforeScopes.test_rbac_legacy_213_drivers_driver_name_get_member [0.224782s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers/fake-driverz WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-fdd31d28-8d15-46b4-9479-ca48f78f9cb2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:get\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_release_node_not_locked [0.420007s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_manager.ConsoleTestCase.test_set_console_mode_stop_fail [0.331521s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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()
{1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links [0.089436s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets/?limit=3 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-27e2d833-2cb8-4af5-a04a-b840622cb40e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"targets": [{"uuid": "8576cdee-9a4f-4fc8-b128-59a26ad90634", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/8576cdee-9a4f-4fc8-b128-59a26ad90634", "rel": "self"}, {"href": "http://localhost/volume/targets/8576cdee-9a4f-4fc8-b128-59a26ad90634", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "44f74fea-9451-4fce-8757-5ef9d1dc3353", "boot_index": 1, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/44f74fea-9451-4fce-8757-5ef9d1dc3353", "rel": "self"}, {"href": "http://localhost/volume/targets/44f74fea-9451-4fce-8757-5ef9d1dc3353", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "caaa957f-e545-45b6-8f1a-91614c59ef63", "boot_index": 2, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/caaa957f-e545-45b6-8f1a-91614c59ef63", "rel": "self"}, {"href": "http://localhost/volume/targets/caaa957f-e545-45b6-8f1a-91614c59ef63", "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=caaa957f-e545-45b6-8f1a-91614c59ef63"}
{0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_correct_power_state_on_upgrade_lock [0.072036s] ... ok
{0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_get_power_state_error [0.027249s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_214_drivers_driver_name_get_observer [0.174353s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers/fake-driverz WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-c089d1e0-52f7-4177-b51d-1020aefd5450
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_custom_fields [0.075147s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets?fields=uuid,extra WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-7abfd054-3904-4e60-b006-a9708c882851
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"targets": [{"uuid": "6d394817-4565-4d6c-9fa8-8594da1ff444", "extra": {}, "links": [{"href": "http://localhost/v1/volume/targets/6d394817-4565-4d6c-9fa8-8594da1ff444", "rel": "self"}, {"href": "http://localhost/volume/targets/6d394817-4565-4d6c-9fa8-8594da1ff444", "rel": "bookmark"}]}, {"uuid": "de7798b1-20af-429a-995c-d2556c427b36", "extra": {}, "links": [{"href": "http://localhost/v1/volume/targets/de7798b1-20af-429a-995c-d2556c427b36", "rel": "self"}, {"href": "http://localhost/volume/targets/de7798b1-20af-429a-995c-d2556c427b36", "rel": "bookmark"}]}, {"uuid": "46783532-3d2c-4c7f-b94f-9f9219dd0327", "extra": {}, "links": [{"href": "http://localhost/v1/volume/targets/46783532-3d2c-4c7f-b94f-9f9219dd0327", "rel": "self"}, {"href": "http://localhost/volume/targets/46783532-3d2c-4c7f-b94f-9f9219dd0327", "rel": "bookmark"}]}], "next": "http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=46783532-3d2c-4c7f-b94f-9f9219dd0327"}
{0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_get_power_state_fail [0.030374s] ... ok
{0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_maintenance_on_upgrade_lock [0.025710s] ... ok
{0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded [0.038765s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_default_limit [0.084084s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-77d3735b-e3cc-472a-8e6a-01cf25b705e1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"targets": [{"uuid": "72a8e371-73c8-486d-a0f7-ab8d3053b587", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/72a8e371-73c8-486d-a0f7-ab8d3053b587", "rel": "self"}, {"href": "http://localhost/volume/targets/72a8e371-73c8-486d-a0f7-ab8d3053b587", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "3ba75f4b-2a6c-49f3-b328-88d48c3df760", "boot_index": 1, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/3ba75f4b-2a6c-49f3-b328-88d48c3df760", "rel": "self"}, {"href": "http://localhost/volume/targets/3ba75f4b-2a6c-49f3-b328-88d48c3df760", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "73cc2295-6789-4b95-8b46-eed77472edb5", "boot_index": 2, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/73cc2295-6789-4b95-8b46-eed77472edb5", "rel": "self"}, {"href": "http://localhost/volume/targets/73cc2295-6789-4b95-8b46-eed77472edb5", "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=73cc2295-6789-4b95-8b46-eed77472edb5"}
{0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded2 [0.042914s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_215_drivers_properties_get_admin [0.142185s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers/fake-driverz/properties WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-dbb1561c-e66e-4f62-9b55-feb8bba9cb12
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_validation_fail [0.236771s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded_notify [0.092429s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_detail [0.145346s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets?detail=True&limit=3 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-82ef19b5-945a-4867-9a9f-a817c41e0c99
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"targets": [{"uuid": "8af08c57-3d06-4146-bed3-3e0f078f3386", "created_at": "2025-05-30T17:27:43.772366+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/8af08c57-3d06-4146-bed3-3e0f078f3386", "rel": "self"}, {"href": "http://localhost/volume/targets/8af08c57-3d06-4146-bed3-3e0f078f3386", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "26a2d66b-3326-4b57-bcc8-1109ea919592", "created_at": "2025-05-30T17:27:43.773373+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/26a2d66b-3326-4b57-bcc8-1109ea919592", "rel": "self"}, {"href": "http://localhost/volume/targets/26a2d66b-3326-4b57-bcc8-1109ea919592", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "5066bb2e-0a20-41d3-959e-36f9123e4b53", "created_at": "2025-05-30T17:27:43.774140+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/5066bb2e-0a20-41d3-959e-36f9123e4b53", "rel": "self"}, {"href": "http://localhost/volume/targets/5066bb2e-0a20-41d3-959e-36f9123e4b53", "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=5066bb2e-0a20-41d3-959e-36f9123e4b53"}
{0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_no_power_sync_support [0.034672s] ... ok
{0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_power_state_sync_max_retries_gps_exception [0.036566s] ... ok
{0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_retry_then_success [0.032849s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail [0.108061s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets?detail=True WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-75e180a4-b731-4b0d-8e5a-375986ac613f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:27:43.911465+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.ManagerDoSyncPowerStateTestCase.test_state_changed_no_sync [0.035971s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_216_drivers_properties_get_member [0.231224s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers/fake-driverz/properties WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-9e92b064-6264-4b7b-958e-c7fdf885326e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:get_properties\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_no_sync_notify [0.062024s] ... ok
{2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_worker_pool_full [0.291245s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_no_sync_with_disable_power_off [0.036987s] ... ok
{0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_sync [0.026351s] ... ok
{0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_sync_failed [0.027780s] ... ok
{0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_not_set [0.036038s] ... ok
{0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_unchanged [0.036144s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_217_drivers_properties_get_observer [0.222403s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers/fake-driverz/properties WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-f275e6ac-1afb-41cf-a270-f21558f486f9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.ContinueInspectionTestCase.test_continue_ok [0.169063s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.ManagerDoSyncPowerStateTestCase.test_state_unchanged_for_fake_node [0.028293s] ... ok
{0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_validate_fail [0.027829s] ... ok
{0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_vendor_detection [0.038178s] ... ok
{0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_wrong_provision_state_on_upgrade_lock [0.029218s] ... ok
{2} ironic.tests.unit.conductor.test_manager.ContinueInspectionTestCase.test_continue_with_discovery [0.124571s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.RaidTestCases.test_get_raid_logical_disk_properties [0.070612s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACModelBeforeScopes.test_rbac_legacy_218_drivers_raid_logical_disk_properties_get_admin [0.224901s] ... 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-41e327db-f169-49cf-ac67-47499fdbf631
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config [0.056276s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.RaidTestCases.test_set_target_raid_config_empty [0.052117s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestListVolumeTargets.test_detail_against_single [0.593310s] ... 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-8cf1eb0a-5a3c-4bc1-89c2-cc9e5dc5f3c2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: detail\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.ContinueInspectionTestCase.test_wrong_state [0.251696s] ... ok
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.TestRBACModelBeforeScopes.test_rbac_legacy_219_drivers_raid_logical_disk_properties_get_member [0.201564s] ... 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-092b3348-9744-42a6-a075-570b814142ff
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:get_raid_logical_disk_properties\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_and_fields [0.087170s] ... 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-77b5b963-7bdc-42e7-bd4f-656756a953e5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: detail\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_invalid_parameter_value [0.213996s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestListVolumeTargets.test_detail_by_node_name_ok [0.085707s] ... 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-dbb9cf6c-5cfa-4376-9f87-f597672de441
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:27:44.699525+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.TestRBACModelBeforeScopes.test_rbac_legacy_220_drivers_raid_logical_disk_properties_get_observer [0.127011s] ... 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-21c66c0a-3d31-491e-b5af-9155108e3d55
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_associate_node_powered_off [0.044749s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.ContinueNodeDeployTestCase.test_continue_node_deploy [0.163759s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.conductor.test_manager.UpdateNodeTestCase.test_associate_node_powered_on [0.051518s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestListVolumeTargets.test_detail_false [0.087012s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets?detail=False WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-c1cc5408-f0ff-46cf-9d72-41861de2b06b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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"}]}
{0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node [0.039271s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.ContinueNodeDeployTestCase.test_continue_node_deploy_deprecated [0.111467s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.conductor.test_manager.UpdateNodeTestCase.test_update_node_already_associated [0.036669s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestListVolumeTargets.test_detail_invalid_api_version [0.084467s] ... 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\": \"\"}"}
{0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_already_locked [0.047710s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_221_drivers_vendor_passthru_methods_get_admin [0.184374s] ... 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-2d08ac5a-4ead-415c-984a-0f17d8f01933
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_sepecified_by_path [0.071406s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets/detail WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-3449ac5a-00b5-4480-8861-199941cf07e9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for target_uuid: detail\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_locked [0.133024s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.UpdateNodeTestCase.test_update_node_deleting_allocation [0.069283s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_forbidden [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(
{1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_empty [0.088748s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-111e3264-58c2-46a3-b218-d4f8b9fd9d3e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"targets": []}
{0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation_in_maintenance [0.051222s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_222_drivers_vendor_passthru_methods_get_member [0.193974s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers/fake-driverz/vendor_passthru/methods WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-96b2209b-f37c-4537-b72b-9e2511671d03
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_fix_broken_interface [0.054230s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestListVolumeTargets.test_get_all_by_node_name_ok [0.129273s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets?node=test-node WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-29efaa62-5e7a-4845-8ea7-68a3af991349
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"targets": [{"uuid": "0368adc7-4e77-49b1-af65-8109cd799fd4", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/0368adc7-4e77-49b1-af65-8109cd799fd4", "rel": "self"}, {"href": "http://localhost/volume/targets/0368adc7-4e77-49b1-af65-8109cd799fd4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "62fe37cb-6354-419d-ad0c-40cf223e2db6", "boot_index": 1, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/62fe37cb-6354-419d-ad0c-40cf223e2db6", "rel": "self"}, {"href": "http://localhost/volume/targets/62fe37cb-6354-419d-ad0c-40cf223e2db6", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "b99edad9-7ee5-49f1-92be-ef846d5bcee2", "boot_index": 2, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/b99edad9-7ee5-49f1-92be-ef846d5bcee2", "rel": "self"}, {"href": "http://localhost/volume/targets/b99edad9-7ee5-49f1-92be-ef846d5bcee2", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]}
{1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_collection_custom_fields [0.041580s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets?fields=uuid,extra WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-9546a546-cbcb-4442-962a-6628ec199021
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"targets": [{"uuid": "cf1536d5-cc5b-4530-bb35-d95b4675c21d", "extra": {}, "links": [{"href": "http://localhost/v1/volume/targets/cf1536d5-cc5b-4530-bb35-d95b4675c21d", "rel": "self"}, {"href": "http://localhost/volume/targets/cf1536d5-cc5b-4530-bb35-d95b4675c21d", "rel": "bookmark"}]}, {"uuid": "0eab5d2e-6f2b-4d70-8a79-ac6ceb906323", "extra": {}, "links": [{"href": "http://localhost/v1/volume/targets/0eab5d2e-6f2b-4d70-8a79-ac6ceb906323", "rel": "self"}, {"href": "http://localhost/volume/targets/0eab5d2e-6f2b-4d70-8a79-ac6ceb906323", "rel": "bookmark"}]}, {"uuid": "37983e55-2601-490b-a2ee-a8eefb768d22", "extra": {}, "links": [{"href": "http://localhost/v1/volume/targets/37983e55-2601-490b-a2ee-a8eefb768d22", "rel": "self"}, {"href": "http://localhost/volume/targets/37983e55-2601-490b-a2ee-a8eefb768d22", "rel": "bookmark"}]}]}
{2} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_worker_pool_full [0.256136s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.conductor.test_manager.UpdateNodeTestCase.test_update_node_from_invalid_driver [0.116229s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestListVolumeTargets.test_get_collection_pagination_no_uuid [0.043892s] ... 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-793e12bd-adde-4b56-8033-aec7539984e9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"targets": [{"boot_index": 0, "links": [{"href": "http://localhost/v1/volume/targets/31eb8836-00ea-4280-b4cf-d2544e4df8f7", "rel": "self"}, {"href": "http://localhost/volume/targets/31eb8836-00ea-4280-b4cf-d2544e4df8f7", "rel": "bookmark"}]}, {"boot_index": 1, "links": [{"href": "http://localhost/v1/volume/targets/3a5912e8-f247-4b87-a0ae-9ee89a69b61a", "rel": "self"}, {"href": "http://localhost/volume/targets/3a5912e8-f247-4b87-a0ae-9ee89a69b61a", "rel": "bookmark"}]}], "next": "http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=boot_index&limit=2&marker=3a5912e8-f247-4b87-a0ae-9ee89a69b61a"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_223_drivers_vendor_passthru_methods_get_observer [0.170659s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers/fake-driverz/vendor_passthru/methods WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-759a7bf9-427b-4ec7-8d79-3ab03890bbda
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_custom_fields_invalid_fields [0.038489s] ... 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-6641feb4-e5d8-42de-b16d-b41c39843fab
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one [0.038942s] ... 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-3f022ffd-2c6b-4078-8759-cd338986d328
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:27:45.346023+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_volume_target.TestListVolumeTargets.test_get_one_custom_fields [0.041173s] ... 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-3aebbcba-a172-4287-b712-d78ac5816929
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.conductor.test_manager.UpdateNodeTestCase.test_update_node_hardware_type [0.145287s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestListVolumeTargets.test_get_one_invalid_api_version [0.059689s] ... 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\": \"\"}"}
{2} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_wrong_state [0.247524s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACModelBeforeScopes.test_rbac_legacy_224_drivers_vendor_passthru_get_admin [0.209746s] ... 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-02299e20-8449-449e-ba5a-9237b665164a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_field_with_broken_interface [0.104531s] ... ok
{1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_links [0.082336s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets/69828f0c-f4d3-478a-b4a9-1204a1c57ec8 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-8354046c-1d34-4144-9375-4f10f1958ca7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "69828f0c-f4d3-478a-b4a9-1204a1c57ec8", "created_at": "2025-05-30T17:27:45.514991+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/69828f0c-f4d3-478a-b4a9-1204a1c57ec8", "rel": "self"}, {"href": "http://localhost/volume/targets/69828f0c-f4d3-478a-b4a9-1204a1c57ec8", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
GET /v1/volume/targets/69828f0c-f4d3-478a-b4a9-1204a1c57ec8 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-1cadface-418e-4605-ae46-9a577b89bae0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "69828f0c-f4d3-478a-b4a9-1204a1c57ec8", "created_at": "2025-05-30T17:27:45.514991+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/69828f0c-f4d3-478a-b4a9-1204a1c57ec8", "rel": "self"}, {"href": "http://localhost/volume/targets/69828f0c-f4d3-478a-b4a9-1204a1c57ec8", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
GET /volume/targets/69828f0c-f4d3-478a-b4a9-1204a1c57ec8 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-627d916f-a740-4378-8269-7ef5229cf244
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "69828f0c-f4d3-478a-b4a9-1204a1c57ec8", "created_at": "2025-05-30T17:27:45.514991+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/69828f0c-f4d3-478a-b4a9-1204a1c57ec8", "rel": "self"}, {"href": "http://localhost/volume/targets/69828f0c-f4d3-478a-b4a9-1204a1c57ec8", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
{1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_many [0.051648s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-18691855-65ae-40ef-8881-ca4b4db575b9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"targets": [{"uuid": "39d8ec04-44fe-4e96-bf8c-847a2ce32706", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/39d8ec04-44fe-4e96-bf8c-847a2ce32706", "rel": "self"}, {"href": "http://localhost/volume/targets/39d8ec04-44fe-4e96-bf8c-847a2ce32706", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "b242d5c7-4976-45bb-aa03-b1756d9bc1ba", "boot_index": 1, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/b242d5c7-4976-45bb-aa03-b1756d9bc1ba", "rel": "self"}, {"href": "http://localhost/volume/targets/b242d5c7-4976-45bb-aa03-b1756d9bc1ba", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "9e548637-9c24-4343-a457-42bfab8b2529", "boot_index": 2, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/9e548637-9c24-4343-a457-42bfab8b2529", "rel": "self"}, {"href": "http://localhost/volume/targets/9e548637-9c24-4343-a457-42bfab8b2529", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "36a8107f-fe6f-4a30-adaa-2b2244c5bbdc", "boot_index": 3, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/36a8107f-fe6f-4a30-adaa-2b2244c5bbdc", "rel": "self"}, {"href": "http://localhost/volume/targets/36a8107f-fe6f-4a30-adaa-2b2244c5bbdc", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "c91d03b8-d09c-41a8-a0db-ff14a2d075e5", "boot_index": 4, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/c91d03b8-d09c-41a8-a0db-ff14a2d075e5", "rel": "self"}, {"href": "http://localhost/volume/targets/c91d03b8-d09c-41a8-a0db-ff14a2d075e5", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]}
{1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_one [0.036167s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-886f54da-eb40-4f2e-8505-98ff3b982708
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target [0.130668s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestListVolumeTargets.test_one_invalid_api_version [0.028814s] ... 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\": \"\"}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_225_drivers_vendor_passthru_get_member [0.195374s] ... 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-97a0710b-174e-47b9-b635-34e090d85c75
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_sort_key [0.045936s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets?sort_key=uuid WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-890a0fc8-7f42-4326-b651-90970440b819
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"targets": [{"uuid": "36a54d58-bf2f-4fc3-b7e2-f1657d3d3c38", "boot_index": 2, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/36a54d58-bf2f-4fc3-b7e2-f1657d3d3c38", "rel": "self"}, {"href": "http://localhost/volume/targets/36a54d58-bf2f-4fc3-b7e2-f1657d3d3c38", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "48266fd4-8015-461f-9a4b-eabe8e7fd795", "boot_index": 1, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/48266fd4-8015-461f-9a4b-eabe8e7fd795", "rel": "self"}, {"href": "http://localhost/volume/targets/48266fd4-8015-461f-9a4b-eabe8e7fd795", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "d7048d19-d185-4739-aadb-d781ab300ca3", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/d7048d19-d185-4739-aadb-d781ab300ca3", "rel": "self"}, {"href": "http://localhost/volume/targets/d7048d19-d185-4739-aadb-d781ab300ca3", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]}
{1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_sort_key_invalid [0.037347s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets?sort_key=foo WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-61423345-3af3-4cf8-842b-143da052d2b0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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-0ec2695f-da0b-4900-81dc-af06117982ca
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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-1fe97175-ed68-4e75-9bcc-639e7618ab2d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value properties is an invalid field for sorting\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_226_drivers_vendor_passthru_get_observer [0.075448s] ... 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-c695a4e2-bf7c-406d-99e9-8989f7e971d5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"}
{1} 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.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_already_destroyed [0.177893s] ... ok
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.TestRBACModelBeforeScopes.test_rbac_legacy_227_drivers_vendor_passthru_post_admin [0.117536s] ... 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-a1bbfbaf-9175-44f3-9e90-f02535d0bbec
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_002_owner_admin_cannot_post_nodes [0.104060s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-98fd84ae-d899-4cb2-b258-503634d1b865
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_gone [0.180308s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_003_owner_admin_can_post_nodes [0.124110s] ... 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-c1b2f90d-e8b3-4cc7-8fdd-2b33e9b1a39f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_locked [0.072647s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_228_drivers_vendor_passthru_post_member [0.185378s] ... 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-9f469526-a627-47da-bb86-f731c3f340d9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_power_on [0.109141s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_004_service_nodes_cannot_post_nodes [0.142955s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-d84169e4-ce69-408c-9272-7021108a81c1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_229_drivers_vendor_passthru_post_observer [0.138081s] ... 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-a969c892-4734-4263-a960-b4925857310d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.TestRBACModelBeforeScopes.test_rbac_legacy_230_drivers_vendor_passthru_put_admin [0.081964s] ... 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-63da19e9-03ae-4906-bb7c-3501807d2119
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_231_drivers_vendor_passthru_put_member [0.065581s] ... 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-04659219-635d-4868-815c-d6bdd69f9787
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated [0.204254s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.test_acl.TestRBACProjectScoped.test_project_scoped_005_service_nodes_can_post_nodes [0.256311s] ... 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-4717bab4-37f7-4b8d-8464-a7f91d80e619
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_232_drivers_vendor_passthru_put_observer [0.064576s] ... 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-5e278390-9862-4ded-88d4-9c6fc99db80a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.TestRBACModelBeforeScopes.test_rbac_legacy_233_drivers_vendor_passthru_delete_admin ... SKIPPED: not updated for scope testing
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_234_drivers_vendor_passthru_delete_observer ... SKIPPED: not updated for scope testing
{2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated_abort [0.206307s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACModelBeforeScopes.test_rbac_legacy_235_nodes_bios_get_admin [0.074937s] ... 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-98f64fa2-d39a-4e52-8672-0ade014d233c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"bios": [{"created_at": "2025-05-30T17:27:46.607376+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"}]}]}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_236_nodes_bios_get_member [0.077541s] ... 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-c41444d6-bedd-41c9-830e-1f625811684e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_006_owner_manager_cannot_post_nodes [0.304196s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-5c7f1f2b-c223-48e8-8cf5-d3a8562a0877
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_237_nodes_bios_get_observer [0.069094s] ... 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-293b8a26-853c-4c85-8f62-d46495827c0a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"bios": [{"created_at": "2025-05-30T17:27:46.759426+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.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated_abort_last_clean_step [0.254744s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACModelBeforeScopes.test_rbac_legacy_238_nodes_bios_bios_setting_get_admin [0.075301s] ... 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-10c3c4a4-2744-4bdf-8503-5974935d7721
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"FAKE_SETTING": {"created_at": "2025-05-30T17:27:46.833982+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.TestRBACModelBeforeScopes.test_rbac_legacy_239_nodes_bios_bios_setting_get_member [0.067800s] ... 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-1bd034d6-e077-4644-946e-855bbc9f12e6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_240_nodes_bios_bios_setting_get_observer [0.075642s] ... 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-ede6fb22-a45a-40bf-b7a8-ec6adc012a0e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"FAKE_SETTING": {"created_at": "2025-05-30T17:27:46.976516+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.TestRBACModelBeforeScopes.test_rbac_legacy_241_conductors_get_admin [0.063134s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-636a8061-fe7d-400c-9576-56587be4abea
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.api.test_acl.TestRBACProjectScoped.test_project_scoped_007_lessee_admin_cannot_post_nodes [0.323268s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-644f715c-9798-424a-a0ff-a3fd7d6d0f09
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_locked [0.251911s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_acl.TestRBACProjectScoped.test_project_scoped_008_lessee_admin_can_post_nodes [0.190798s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-8ecab3a4-fede-4ca0-9aec-57834cc017a0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual [0.205210s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.test_acl.TestRBACProjectScoped.test_project_scoped_009_lessee_manager_cannot_post_nodes [0.180065s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-a8f2328c-5fd6-4ce8-aeba-79bca9543d8c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual_abort [0.149672s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACModelBeforeScopes.test_rbac_legacy_242_conductors_get_member [0.430739s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-c3c81be1-376a-46cb-a1f1-2edfea062746
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual_abort_last_clean_step [0.096785s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_worker_pool_full [0.091497s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_manager.DoNodeCleanTestCase.test_continue_node_clean_wrong_state [0.095442s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACModelBeforeScopes.test_rbac_legacy_243_conductors_get_observer [0.224913s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-17f0e37b-803c-4ece-af6c-0e27fccbf6b6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.api.test_acl.TestRBACProjectScoped.test_project_scoped_010_lessee_manager_can_post_nodes [0.313025s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-4ebf2842-f441-4dd7-9dc6-635315fdd2e6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_invalid_state [0.100625s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACModelBeforeScopes.test_rbac_legacy_244_conductors_hostname_get_admin [0.185741s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors/test-conductor-node WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-4b7f85b0-49f0-4abe-a290-63e81d88998a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"created_at": "2025-05-30T17:27:47.878731+00:00", "updated_at": "2025-05-30T17:27:47.879810+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.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_maintenance [0.168981s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.test_acl.TestRBACProjectScoped.test_project_scoped_011_third_party_admin_cannot_post_nodes [0.287618s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-507765da-9ff6-4136-8c20-5a3fe156537f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_245_conductors_hostname_get_member [0.138942s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors/test-conductor-node WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-55d2aa85-7dde-4ec5-a590-071904a3b60e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_246_conductors_hostname_get_observer [0.068996s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors/test-conductor-node WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-7c2289a2-6d80-4bb5-bf96-f2a2047fbf00
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"created_at": "2025-05-30T17:27:48.122174+00:00", "updated_at": "2025-05-30T17:27:48.122792+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}
{0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_allowed_state [2.654681s] ... ok
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(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_247_allocations_post_admin [0.077646s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/allocations WITH {'resource_class': 'CUSTOM_TEST'} GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-3b720c39-55bc-4e38-bd7c-109e49f4e9d2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_network_validate_fail [0.247658s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.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.api.test_acl.TestRBACProjectScoped.test_project_scoped_012_third_party_admin_can_post_nodes [0.302539s] ... 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-3e5e00e9-a899-416a-b2e1-c7bf32f329a0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_ok [0.268681s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACModelBeforeScopes.test_rbac_legacy_249_allocations_post_observer [0.218802s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/allocations WITH {'resource_class': 'CUSTOM_TEST'} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-c77a4c25-a5f7-4519-a90e-c52f8cb930df
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create_restricted\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_013_owner_member_cannot_post_nodes [0.266372s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-c1931831-25ec-4aed-9879-7f6238e33f1c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_250_allocations_get_admin [0.162344s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-fb0b9936-d52f-428b-a5c3-65825a18ae3c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"allocations": [{"uuid": "598f2220-6dab-4aed-87fb-b26e6716fb53", "created_at": "2025-05-30T17:27:48.625523+00:00", "updated_at": "2025-05-30T17:27:48.629600+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/598f2220-6dab-4aed-87fb-b26e6716fb53", "rel": "self"}, {"href": "http://localhost/allocations/598f2220-6dab-4aed-87fb-b26e6716fb53", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_014_owner_reader_cannot_post_reader [0.189003s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-21614337-3a3b-474c-bc2d-b30dff082c43
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_251_allocations_get_member [0.152661s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-a0a9cb4e-091b-486f-816a-c9f6049bde58
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_maintenance [0.750101s] ... ok
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.api.test_acl.TestRBACProjectScoped.test_project_scoped_015_owner_admin_can_get_node [0.152983s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-9ebffef0-8de2-492e-9dde-30fafd48a2c0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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": "337032ac-9e09-4326-8305-41b4cb1cca2e", "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"}]}]}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_252_allocations_get_observer [0.149276s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-dec1c4e7-b76a-48f7-93b4-d07681364746
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"allocations": [{"uuid": "059e662b-0db5-48d2-be15-6b2ed54ff851", "created_at": "2025-05-30T17:27:48.935301+00:00", "updated_at": "2025-05-30T17:27:48.947652+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/059e662b-0db5-48d2-be15-6b2ed54ff851", "rel": "self"}, {"href": "http://localhost/allocations/059e662b-0db5-48d2-be15-6b2ed54ff851", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]}
{2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_power_validate_fail [0.504734s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.test_acl.TestRBACProjectScoped.test_project_scoped_016_owner_manager_can_get_node [0.149696s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-b1b82fd8-d326-43ea-82b0-ed4452e9c6ad
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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": "aa61b51e-37a8-4e0b-84c1-8d45f257b53c", "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"}]}]}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_253_allocations_allocation_id_get_admin [0.148372s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations/df0f75ba-54b6-40d3-a99d-a4e1c859ac7e WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-52a5bf7e-c809-4cb4-8a55-1e38fc937ab9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "df0f75ba-54b6-40d3-a99d-a4e1c859ac7e", "created_at": "2025-05-30T17:27:49.086921+00:00", "updated_at": "2025-05-30T17:27:49.102122+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/df0f75ba-54b6-40d3-a99d-a4e1c859ac7e", "rel": "self"}, {"href": "http://localhost/allocations/df0f75ba-54b6-40d3-a99d-a4e1c859ac7e", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}
{2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_worker_pool_full [0.210556s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_not_allowed_state [0.340797s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_017_owner_member_can_get_node [0.151516s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-f023bc90-913b-4a03-8d7e-8ff074a35e5c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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": "97a3429e-0d20-488e-a5b2-53a3c766b19f", "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"}]}]}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_254_allocations_allocation_id_get_member [0.147654s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations/2d9e3833-6b31-40ce-a631-dacdb5852c4b WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-ab9a5de6-d1e0-4240-aa44-5a67a910b3fb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 2d9e3833-6b31-40ce-a631-dacdb5852c4b could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_018_owner_reader_can_get_node [0.166942s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-a6df200e-a575-4875-b1cb-530bd2437261
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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": "08becee3-ab89-4eee-9618-0a2784a46a15", "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"}]}]}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_255_allocations_allocation_id_get_observer [0.105242s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations/d3a737d9-fdf3-479d-9a71-8a9f046d0257 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-a8a37bb7-355c-4352-ad15-67615ddc9d4b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "d3a737d9-fdf3-479d-9a71-8a9f046d0257", "created_at": "2025-05-30T17:27:49.394377+00:00", "updated_at": "2025-05-30T17:27:49.398665+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/d3a737d9-fdf3-479d-9a71-8a9f046d0257", "rel": "self"}, {"href": "http://localhost/allocations/d3a737d9-fdf3-479d-9a71-8a9f046d0257", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}
{0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_invalid [0.207849s] ... ok
{2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_provision_action_unlocks_cleaning_automated [0.241099s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACModelBeforeScopes.test_rbac_legacy_256_allocations_allocation_id_patch_admin [0.092841s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/allocations/bc8064f8-fc47-468e-974a-6eeeb1f45883 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-9c4f0a4d-af26-46b1-bcc6-b082a8d80d16
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "bc8064f8-fc47-468e-974a-6eeeb1f45883", "created_at": "2025-05-30T17:27:49.475848+00:00", "updated_at": "2025-05-30T17:27:49.531881+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/bc8064f8-fc47-468e-974a-6eeeb1f45883", "rel": "self"}, {"href": "http://localhost/allocations/bc8064f8-fc47-468e-974a-6eeeb1f45883", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}
{0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_invalid_driver [0.101840s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_019_lessee_admin_can_get_node [0.151186s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-99bff0dc-759f-47ea-92e5-68b67031d1bb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "0b4ac6d1-ac4a-4b7a-bd9a-fb0006e700a7", "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"}]}]}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_257_allocations_allocation_id_patch_member [0.086331s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/allocations/34b28e38-d800-4494-8ec4-7b75613cfdfa WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-481af5e1-d860-4096-bf9d-7ceb69f9772f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 34b28e38-d800-4494-8ec4-7b75613cfdfa could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_maintenance_set_false [0.124026s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_258_allocations_allocation_id_patch_observer [0.075868s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/allocations/151fff0c-1838-4d40-8be5-44e7afdc98b9 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-4b12c514-23ee-4778-95e1-52771a52fadb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:update\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_provision_action_unlocks_cleaning_manual [0.285019s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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(
{0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_maintenance_with_broken_interface [0.084902s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_259_allocations_allocation_id_delete_admin [0.092165s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/allocations/e9a3469d-f8c0-4587-9e13-beef3bec4c53 GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-9bc27e1b-15f2-4a9f-a461-186cfd86ca60
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_020_lessee_manager_can_get_node [0.204199s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-17a6fb4d-a41e-4308-9962-41fce531f059
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "ff3c2dc7-ec11-443b-a58d-83931e8ca619", "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"}]}]}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_260_allocations_allocation_id_delete_member [0.071368s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/allocations/71bac968-2cdf-4bf0-8555-695b912ab255 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-c516d6db-0dce-4f82-a5b5-0305d52a8adb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 71bac968-2cdf-4bf0-8555-695b912ab255 could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_invalid_state [0.091718s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_261_allocations_allocation_id_delete_observer [0.066745s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/allocations/b698919f-4341-457a-ae40-389f35e3cd65 GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-44eb44ec-852a-4754-8bac-91c6397d2c6e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:delete\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_reason_without_protected [0.083572s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_021_lessee_member_can_get_node [0.216430s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-201ac9a6-6346-428f-aba4-26bedd7118f0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "a37aa951-fde1-4a88-aff5-3570b36cc8f0", "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"}]}]}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_262_nodes_allocation_get_admin [0.076504s] ... 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-385aa540-68e0-4ddd-80c4-a44a48e7821f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "398ed34c-2d4c-476c-bd9f-4bf72d132178", "created_at": "2025-05-30T17:27:49.969547+00:00", "updated_at": "2025-05-30T17:27:49.973444+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/398ed34c-2d4c-476c-bd9f-4bf72d132178", "rel": "self"}, {"href": "http://localhost/allocations/398ed34c-2d4c-476c-bd9f-4bf72d132178", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}
{2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_provision_action_unlocks_deploying [0.229959s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACModelBeforeScopes.test_rbac_legacy_263_nodes_allocation_get_member [0.070054s] ... 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-1ced594b-a182-4a85-af0c-10f01912ff8c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_set [0.180527s] ... ok
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.TestRBACModelBeforeScopes.test_rbac_legacy_264_nodes_allocation_get_observer [0.072435s] ... 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-92f41e21-c181-4bf5-aaf5-decf2932affd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "bff056eb-8b8f-40ae-aff7-2b35a2d61f1a", "created_at": "2025-05-30T17:27:50.115386+00:00", "updated_at": "2025-05-30T17:27:50.119450+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/bff056eb-8b8f-40ae-aff7-2b35a2d61f1a", "rel": "self"}, {"href": "http://localhost/allocations/bff056eb-8b8f-40ae-aff7-2b35a2d61f1a", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}
{2} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_interface_not_support [0.182096s] ... ok
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.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACModelBeforeScopes.test_rbac_legacy_265_nodes_allocation_delete_admin [0.074353s] ... 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-828e6504-7350-4d4f-889a-f569a6e04619
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_022_lessee_reader_can_get_node [0.220505s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-6dec30ef-6e73-4464-bc61-192e0617bbe1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "d8e5c6a5-9299-475d-95a8-f38e96b57994", "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"}]}]}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_266_nodes_allocation_delete_member [0.070507s] ... 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-bebd9fd3-f2fe-4c39-9591-2e275f884c8c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22e26c0b-03f2-4d2e-ae87-c02d7f33c000 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_267_nodes_allocation_delete_observer [0.069874s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-c3b47b9f-affc-444d-a8a4-6ec9497c42ed
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:delete\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_unset [0.238697s] ... ok
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.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_interface_return_failed [0.210049s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACModelBeforeScopes.test_rbac_legacy_268_deploy_templates_post_admin [0.080825s] ... 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/5e4d0bc9-51c9-443d-9e57-e75675aa82fd
Openstack-Request-Id: req-47c33269-6c5e-44eb-8919-8535becada2b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "5e4d0bc9-51c9-443d-9e57-e75675aa82fd", "created_at": "2025-05-30T17:27:50.454588+00:00", "updated_at": null, "name": "CUSTOM_TEST_TEMPLATE", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/5e4d0bc9-51c9-443d-9e57-e75675aa82fd", "rel": "self"}, {"href": "http://localhost/deploy_templates/5e4d0bc9-51c9-443d-9e57-e75675aa82fd", "rel": "bookmark"}], "steps": [{"interface": "deploy", "step": "noop", "args": {}, "priority": 0}]}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_023_third_party_admin_cannot_get_node [0.223403s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-bd78d7c4-ee85-4e65-99a3-a74f213cb716
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"nodes": []}
{0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_invalid_state [0.089287s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_269_deploy_templates_post_member [0.074727s] ... 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-5f0b1799-1c87-4e81-804c-371e5415a541
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_reason_without_retired [0.062116s] ... ok
{2} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_state_set_by_driver [0.187552s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACModelBeforeScopes.test_rbac_legacy_270_deploy_templates_post_observer [0.085451s] ... 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-80ad36b1-c99c-4b6d-aae3-cd88561f8592
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.TestRBACModelBeforeScopes.test_rbac_legacy_271_deploy_templates_get_admin [0.066540s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-05aee4bf-337f-4a29-bff7-4739eb8e995a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"deploy_templates": [{"uuid": "93a5ff37-9a45-4ad6-bb08-5066add160cb", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/93a5ff37-9a45-4ad6-bb08-5066add160cb", "rel": "self"}, {"href": "http://localhost/deploy_templates/93a5ff37-9a45-4ad6-bb08-5066add160cb", "rel": "bookmark"}]}]}
{0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_set [0.164056s] ... ok
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.TestRBACModelBeforeScopes.test_rbac_legacy_272_deploy_templates_get_member [0.066888s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-434a439c-6fb1-46fa-95c1-76b067b5104d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_succeeded [0.206235s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACModelBeforeScopes.test_rbac_legacy_273_deploy_templates_get_observer [0.080373s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-005340ef-3f4a-40e3-922b-95ba9b42fb3f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"deploy_templates": [{"uuid": "40106e52-e3e6-4fc6-be02-cfeb885a2836", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/40106e52-e3e6-4fc6-be02-cfeb885a2836", "rel": "self"}, {"href": "http://localhost/deploy_templates/40106e52-e3e6-4fc6-be02-cfeb885a2836", "rel": "bookmark"}]}]}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_274_deploy_templates_deploy_template_id_get_admin [0.064961s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates/85679793-0069-4d0d-bb6e-4d8042d9973d WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-5faf8494-2ed1-4b34-9c88-64c99dd32a60
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "85679793-0069-4d0d-bb6e-4d8042d9973d", "created_at": "2025-05-30T17:27:50.881706+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/85679793-0069-4d0d-bb6e-4d8042d9973d", "rel": "self"}, {"href": "http://localhost/deploy_templates/85679793-0069-4d0d-bb6e-4d8042d9973d", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}
{0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_unset [0.198936s] ... ok
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.DoNodeRescueTestCase.test__do_node_rescue_abort [0.124012s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_024_owner_reader_can_get_their_node [0.497696s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-a1b1e2e6-e308-4e2c-9559-37a4b2c80678
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2025-05-30T17:27:50.543806+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"}]}
{2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_abort_clean_up_fail [0.100509s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_025_owner_reader_cannot_get_other_node [0.141936s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/a2eace97-4350-452b-a6dd-69fd3927d543 WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-985973f8-dbd0-41f6-a5b5-ed3bf40b8647
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node a2eace97-4350-452b-a6dd-69fd3927d543 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_275_deploy_templates_deploy_template_id_get_member [0.246834s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates/1e85261a-8b6b-414f-b747-61c77327cc4f WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-f4019a1e-493c-4ad6-bbe0-f9d4e5bd7691
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.TestRBACModelBeforeScopes.test_rbac_legacy_276_deploy_templates_deploy_template_id_get_observer [0.072242s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates/62ff2854-7da6-41f7-b6d7-86541d938f4a WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-37ef8852-d171-4bed-a693-cb873845b993
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "62ff2854-7da6-41f7-b6d7-86541d938f4a", "created_at": "2025-05-30T17:27:51.201387+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/62ff2854-7da6-41f7-b6d7-86541d938f4a", "rel": "self"}, {"href": "http://localhost/deploy_templates/62ff2854-7da6-41f7-b6d7-86541d938f4a", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}
{2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_bad_state [0.194463s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.test_acl.TestRBACProjectScoped.test_project_scoped_026_lessee_reader_can_get_their_node [0.168359s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-37f49e50-4301-4630-8687-c7e11d5b2c77
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2025-05-30T17:27:51.197249+00:00", "updated_at": "2025-05-30T17:27:51.217156+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": "c4d81111-f9eb-4087-9bec-36286558089e", "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": "c4d81111-f9eb-4087-9bec-36286558089e", "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"}]}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_277_deploy_templates_deploy_template_id_patch_admin [0.090224s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/deploy_templates/c188b7cd-064a-4b19-953d-4c9186727a19 WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-39ac78b9-7e23-4d43-adcc-3481b3bf1532
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "c188b7cd-064a-4b19-953d-4c9186727a19", "created_at": "2025-05-30T17:27:51.271785+00:00", "updated_at": "2025-05-30T17:27:51.314755+00:00", "name": "CUSTOM_MAGIC", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/c188b7cd-064a-4b19-953d-4c9186727a19", "rel": "self"}, {"href": "http://localhost/deploy_templates/c188b7cd-064a-4b19-953d-4c9186727a19", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}
{2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_errors [0.091828s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACModelBeforeScopes.test_rbac_legacy_278_deploy_templates_deploy_template_id_patch_member [0.066692s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/deploy_templates/d3741fd3-4f6a-4e6b-8665-f063f3f49c1d WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-b48fa838-a1bd-4c96-b199-3576c4cde3b8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_returns_rescue [0.111087s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.conductor.test_manager.UpdateNodeTestCase.test_update_node_with_reset_interfaces [0.545022s] ... ok
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.api.test_acl.TestRBACProjectScoped.test_project_scoped_027_lessee_reader_cant_get_other_node [0.211189s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/29ad8ec4-3ce7-46a1-820a-4c53fab3c7b8 WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-1fdd11f7-4c68-404e-809c-7b412ca4e504
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 29ad8ec4-3ce7-46a1-820a-4c53fab3c7b8 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_279_deploy_templates_deploy_template_id_patch_observer [0.150655s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/deploy_templates/a42afb39-02e7-4109-9bb5-7244fcb9c6b9 WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-c4ce8d9e-8b18-4b15-80b1-33a52bd5bb71
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_returns_rescuewait [0.087925s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_manager.DoNodeRescueTestCase.test__do_node_unrescue [0.095469s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.test_acl.TestRBACProjectScoped.test_project_scoped_028_third_party_admin_cant_get_node [0.227099s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/aaee1f49-1236-4913-ac7b-4145a72151e5 WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-81ee9ef1-2542-413e-9c80-39a28e214cf6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node aaee1f49-1236-4913-ac7b-4145a72151e5 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_280_deploy_templates_deploy_template_id_delete_admin [0.189748s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/deploy_templates/f0542e1e-d4b6-4d6a-929c-aafb39b951b2 GOT Response: 204 No Content
Openstack-Request-Id: req-c4031c62-c3d0-44ba-9b1f-04d55421ac32
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_bad_state [0.086494s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_allowed_state [0.319244s] ... ok
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.DoNodeRescueTestCase.test__do_node_unrescue_ironic_error [0.139859s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACModelBeforeScopes.test_rbac_legacy_281_deploy_templates_deploy_template_id_delete_member [0.153360s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/deploy_templates/953f20b8-f052-40d3-9821-c9d278e81204 GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-35678cbf-8238-4b95-8545-98a2774bafc1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_029_owner_reader_can_get_restricted_fields [0.190536s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-bfbcd7a7-c916-4487-856e-1a7ecf5b2bcb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2025-05-30T17:27:51.818901+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.UpdateNodeTestCase.test_update_resource_class_no_previous_value [0.166543s] ... ok
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.api.test_acl.TestRBACProjectScoped.test_project_scoped_030_lessee_reader_cannot_get_restricted_fields [0.151583s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-fd6b7d3a-b9a2-47be-9299-86bd44877f17
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2025-05-30T17:27:51.995781+00:00", "updated_at": "2025-05-30T17:27:52.016315+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": "23886000-0e9f-4700-85d5-1110c1f466f6", "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": "23886000-0e9f-4700-85d5-1110c1f466f6", "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"}]}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_282_deploy_templates_deploy_template_id_delete_observer [0.205757s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/deploy_templates/6462e02b-c2ca-4216-a592-3d5bd2997f3e GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-08f5de4c-3cb9-4e60-8b9b-f7f5fa977f7f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_not_allowed [0.141919s] ... ok
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.api.test_acl.TestRBACProjectScoped.test_project_scoped_031_owner_reader_can_get_detail [0.177484s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/detail WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-ece2dda9-1505-4a88-8617-a492840fcf3e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"nodes": [{"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2025-05-30T17:27:52.128601+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-30T17:27:52.165302+00:00", "updated_at": "2025-05-30T17:27:52.180135+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": "ce1bbc1b-26eb-4b60-8366-02ac5132caec", "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": "ce1bbc1b-26eb-4b60-8366-02ac5132caec", "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.UpdatePortgroupTestCase.test_update_portgroup [0.169736s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_032_lessee_reader_can_get_detail [0.083874s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/detail WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-a8edcb79-5e83-4c3e-8dfd-044fbb068eeb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2025-05-30T17:27:52.292978+00:00", "updated_at": "2025-05-30T17:27:52.300402+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": "d3ffe0af-5961-40a7-a937-3daf52721c80", "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": "d3ffe0af-5961-40a7-a937-3daf52721c80", "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"}]}]}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_283_chassis_post_admin [0.231090s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 201 Created
Content-Type: application/json
Location: http://localhost/v1/chassis/c500f59c-468f-44d8-bde1-8184d3e83b59
Openstack-Request-Id: req-1ea85b11-9135-4aad-9b85-736510fb4408
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "c500f59c-468f-44d8-bde1-8184d3e83b59", "created_at": "2025-05-30T17:27:52.313512+00:00", "updated_at": null, "description": "test-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/c500f59c-468f-44d8-bde1-8184d3e83b59", "rel": "self"}, {"href": "http://localhost/chassis/c500f59c-468f-44d8-bde1-8184d3e83b59", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/c500f59c-468f-44d8-bde1-8184d3e83b59/nodes", "rel": "self"}, {"href": "http://localhost/chassis/c500f59c-468f-44d8-bde1-8184d3e83b59/nodes", "rel": "bookmark"}]]}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_033_third_party_admin_cannot_get_detail [0.069324s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/detail WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-88290775-e85f-436d-be62-a059b81d9ac5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"nodes": []}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_284_chassis_post_member [0.145600s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-8eaa4ab0-6030-4606-944f-f5faf5d75c70
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:create\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_034_owner_admin_can_patch_node_extra [0.109760s] ... 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-7714ea9c-631c-40ba-9605-df9c98a3a525
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_other_error [0.642177s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACModelBeforeScopes.test_rbac_legacy_285_chassis_post_observer [0.112460s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-652cf1b9-4b54-4e25-a386-b88acc95c283
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:create\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_association_with_ports [0.281805s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACModelBeforeScopes.test_rbac_legacy_286_chassis_get_admin [0.076896s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-a727ca24-d7a4-4f0e-8ddc-f4e22948a739
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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"}]}]}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_035_owner_manager_can_patch_node_extra [0.161882s] ... 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-65194abd-76f2-48ec-9943-5d0947b01219
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_287_chassis_get_member [0.063476s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-57dbbbf1-9d4e-4c6d-9b61-6c05dd4bee0f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:get\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue [0.235037s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.UpdatePortgroupTestCase.test_update_portgroup_failure [0.156838s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_288_chassis_get_observer [0.070129s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-9c933f90-572d-4496-8f77-6a9b676e3700
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_node_locked [0.125929s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_036_owner_member_can_patch_node_extra [0.226523s] ... 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-f0e02a45-0fc6-47f3-a310-6c86a6272d2a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_289_chassis_detail_get_admin [0.106115s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis/detail WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-aacd44bb-4e4b-4305-a585-24ba568cabe6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-30T17:27:52.839906+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.TestRBACModelBeforeScopes.test_rbac_legacy_290_chassis_detail_get_member [0.156007s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis/detail WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-f4bb97e2-4d86-4f11-9f8c-72dd424d511e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:get\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_037_owner_reader_cannot_patch_node_extra [0.174056s] ... 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-d5f5598b-3e56-47de-940d-8ed1fa41f02c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_extra\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_invalid_state [0.325305s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACModelBeforeScopes.test_rbac_legacy_291_chassis_detail_get_observer [0.081575s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis/detail WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-994897d8-8086-45fd-beef-8ae29215bd94
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-30T17:27:53.110619+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.TestRBACModelBeforeScopes.test_rbac_legacy_292_chassis_chassis_id_get_admin [0.066874s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-cff57fbe-42bf-46a1-b080-d1f9d103236c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-30T17:27:53.180804+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.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_active_state_and_maintenance [0.329493s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_manager.DoNodeRescueTestCase.test_do_node_rescue_maintenance [0.148979s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_293_chassis_chassis_id_get_member [0.088993s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-9d5cd4ab-e5d8-462b-8350-eab38bf5ef97
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:get\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_deleting_state [0.077269s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_038_lessee_admin_can_patch_node_extra [0.253546s] ... 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-9006f757-33ab-4869-b335-8bc49fe488f9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_network_validate_fail [0.127039s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_inspect_wait_state [0.093866s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACModelBeforeScopes.test_rbac_legacy_294_chassis_chassis_id_get_observer [0.136696s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-5c6f3b27-cf9b-4856-b741-275caf255328
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-30T17:27:53.387164+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.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_power_validate_fail [0.133845s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_039_lessee_manager_can_patch_node_extra [0.283428s] ... 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-22984491-4bc8-47cb-abfa-16c5bcb545bb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_rescue_validate_fail [0.144617s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_295_chassis_chassis_id_patch_admin [0.207526s] ... 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-43e2a050-22e6-45d7-83ae-74d3c56617f4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-30T17:27:53.556212+00:00", "updated_at": "2025-05-30T17:27:53.643484+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"}]]}
{2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue [0.139456s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACModelBeforeScopes.test_rbac_legacy_296_chassis_chassis_id_patch_member [0.139815s] ... 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-143c680b-5cfc-498e-b3fd-b1b726d666dd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:update\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_040_lessee_member_can_patch_node_extra [0.224908s] ... 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-3f0b6c4a-35b0-479e-8f01-c652d261c4df
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_manageable_state [0.513900s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACModelBeforeScopes.test_rbac_legacy_297_chassis_chassis_id_patch_observer [0.135612s] ... 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-a777a289-18e1-418a-af1d-428c694dea1e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:update\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_invalid_state [0.165971s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.test_acl.TestRBACProjectScoped.test_project_scoped_041_lessee_reader_cannot_patch_node_extra [0.150539s] ... 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-b61c1a7c-b693-4b9b-8fd3-525072a7fed1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_extra\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_notification_utils.ProvisionNotifyTestCase.test_emit_notification [0.085751s] ... ok
{2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_maintenance [0.085007s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_notification_utils.ProvisionNotifyTestCase.test_mask_secrets [0.039780s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_298_chassis_chassis_id_delete_admin [0.160674s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT Response: 204 No Content
Openstack-Request-Id: req-61a105ce-087d-48b0-8f38-e5520ecd186a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_validate_fail [0.097400s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_042_third_party_admin_cannot_patch_node_extra [0.164183s] ... 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-a17694ea-120b-4c08-b363-405e8b78b4c3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_299_chassis_chassis_id_delete_member [0.152049s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-909b1a1d-e017-4a67-beda-a84d232e775e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_provision_rescue_abort [0.113570s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_manager.ManagerPowerRecoveryTestCase.test_node_disappears_on_acquire [0.025588s] ... ok
{2} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_in_enroll_on_acquire [0.026556s] ... ok
{2} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_in_power_transition_on_acquire [0.027230s] ... ok
{2} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_locked_on_acquire [0.025105s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_300_chassis_chassis_id_delete_observer [0.123779s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-e8e6ffb3-a5db-4952-9915-e33ee4546b25
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_not_in_maintenance_on_acquire [0.035914s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_043_owner_admin_can_change_drivers [0.234665s] ... 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-122d8e1c-0802-48b0-908d-15aac6c13aaf
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_not_mapped [0.027274s] ... ok
{2} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_recovery_failed [0.025365s] ... ok
{2} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_recovery_success [0.027873s] ... ok
{2} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fail [0.047529s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.ManagerTestProperties.test_driver_properties_ilo [0.079596s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_servicing.DoNodeCleanTestChildNodes.test_do_next_clean_step_with_children [0.601538s] ... ok
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(
{2} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_ipmi [0.065678s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACModelBeforeScopes.test_rbac_legacy_301_node_history_get_admin [0.289211s] ... 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-9d7f9086-7b2f-451f-93c6-82a81f8dbff3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"history": [{"uuid": "0d6cdcb0-4578-4b0d-9e81-f9cb845c783d", "created_at": "2025-05-30T17:27:54.588236+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/0d6cdcb0-4578-4b0d-9e81-f9cb845c783d", "rel": "self"}]}]}
{2} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_manual_management [0.070634s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_acl.TestRBACProjectScoped.test_project_scoped_044_owner_manager_can_change_drivers [0.393141s] ... 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-3f327d47-f08e-4fb8-8d11-5c80beae0974
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_snmp [0.075749s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACModelBeforeScopes.test_rbac_legacy_302_node_history_get_member [0.216744s] ... 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-641c5258-ee04-47d4-bed7-fbedea3cde34
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_is_pruned_from_all_nodes_one_pass [0.093324s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_acl.TestRBACProjectScoped.test_project_scoped_045_owner_member_can_patch_all_the_things [0.234291s] ... 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-6b041c72-fc15-4833-8412-c6d1065c3c22
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_servicing.DoNodeCleanTestChildNodes.test_do_next_clean_step_with_children_by_uuid [0.423353s] ... ok
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.api.test_acl.TestRBACProjectScoped.test_project_scoped_046_owner_member_can_change_lessee [0.107352s] ... 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-11b25b75-c96d-4251-92b6-53a9e0a8ae37
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_303_node_history_get_observer [0.263400s] ... 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-4d842f45-f6b8-4af6-954c-44bb4b88819c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"history": [{"uuid": "a4f4b728-6b95-4ec4-b452-dcb85909989b", "created_at": "2025-05-30T17:27:55.090311+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/a4f4b728-6b95-4ec4-b452-dcb85909989b", "rel": "self"}]}]}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_047_lessee_admin_cannot_change_lessee [0.079808s] ... 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-9b38b5f4-fd91-419e-aa9f-41aa95e01389
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:lessee\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_is_pruned_to_config [0.305768s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_steps.GetValidatedStepsFromTemplatesTestCase.test_instance_deploy_failure [0.126623s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_048_lessee_manager_cannot_change_lessee [0.068785s] ... 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-565a6227-123a-47d4-bba1-9e5684b1d175
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:lessee\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_049_lessee_admin_cannot_change_owner [0.071755s] ... 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-0e80994a-4f5e-42a9-8010-0667386554bf
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:owner\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_invalid_parameter_value [0.136845s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_304_node_history_get_entry_admin [0.230334s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/60255af2-d701-4f24-89b8-2f0de331720e WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-32680305-3f3d-4651-9b42-3da86e38c55e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "60255af2-d701-4f24-89b8-2f0de331720e", "created_at": "2025-05-30T17:27:55.328208+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/60255af2-d701-4f24-89b8-2f0de331720e", "rel": "self"}]}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_050_lessee_manager_cannot_change_owner [0.071414s] ... 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-d38c5582-a8e5-4b8c-98f5-62c01b35e5ed
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:owner\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_ok [0.132928s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodeHistoryRecordCleanupTestCase.test_history_is_pruned_to_config_two_pass [0.283376s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_acl.TestRBACProjectScoped.test_project_scoped_051_owner_admin_can_change_lessee [0.102770s] ... 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-1af5bbd5-b710-44aa-9584-bf75c8bed7d0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_305_node_history_get_entry_member [0.210822s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/b7b4ce15-bab9-4d60-932c-2062f3313245 WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-73145c5f-65f9-4fc4-a84a-13ff83bc6c96
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_skip_missing [0.119035s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_052_owner_manager_can_change_lessee [0.112569s] ... 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-95cd16fd-fc83-4d19-8c39-3a4d867ec8fb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_053_owner_admin_cannot_change_owner [0.067506s] ... 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-1edfbfcb-208c-4881-b747-9b4dd56c25aa
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:owner\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps [0.077240s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodeHistoryRecordCleanupTestCase.test_history_is_pruned_to_config_with_days [0.231541s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACModelBeforeScopes.test_rbac_legacy_306_node_history_get_entry_observer [0.156367s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/03a094a1-43cb-41aa-9fbd-dd650977b32e WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-ce746d66-5205-401c-a6ec-4254ff0bd66d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "03a094a1-43cb-41aa-9fbd-dd650977b32e", "created_at": "2025-05-30T17:27:55.727106+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/03a094a1-43cb-41aa-9fbd-dd650977b32e", "rel": "self"}]}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_054_owner_manager_cannot_change_owner [0.078305s] ... 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-816f7a15-b943-40f5-9f15-fb55b4dc03f7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:owner\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_only_enabled [0.088986s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_055_lessee_member_can_set_protected [0.100976s] ... 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-753c7781-7660-43e3-8677-32e18c62cb76
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_no_override [0.110479s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_056_lessee_member_cannot_patch_instance_info [0.066975s] ... 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-a56f5440-8b4a-4e1a-a9cf-8aec377fdb28
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_instance_info\", \"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.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_pruning_no_work [0.234093s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_override_disable [0.097541s] ... ok
{0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_override_fail [0.106692s] ... ok
{0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_override_ok [0.068448s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_057_lessee_member_cannot_patch_driver_info [0.258503s] ... 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-07ee2df4-f655-474c-987b-9833fd6ba490
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:driver_info\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_058_lessee_member_cannot_patch_properties [0.069484s] ... 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-ba2399ce-ae26-4a6c-8bb3-ffc5c1706f40
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:properties\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_unsorted [0.094266s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_059_lessee_member_cannot_patch_network_data [0.080951s] ... 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-31686598-dee0-4bc5-b657-53e591525a9c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:network_data\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps [0.086938s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_disable_ramdisk [0.087594s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_060_lessee_member_cannot_patch_name [0.148111s] ... 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-37183ae2-5776-4837-9320-924ef0c9ea87
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:name\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_get_steps_exception [0.086765s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodeHistoryRecordCleanupTestCase.test_history_pruning_not_other_conductor [0.567407s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACScopedRequests.test_system_scoped_002_nodes_post_admin [0.688341s] ... 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-68d38b44-f189-4f9e-b1d0-0e61cb30c38d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_invalid_arg [0.128319s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_061_lessee_member_cannot_patch_retired [0.212230s] ... 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-788f2d07-b694-4682-8c1f-9bbf47442af2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:retired\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test__check_inspect_wait_timeouts [0.190181s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_missing_required_arg [0.132752s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodeInspectHardware.test_inspect_hardware_power_validate_fail [0.106216s] ... ok
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_003_nodes_post_member [0.198924s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-7bbe3b8d-78df-4827-ba4c-08760a4c0b4f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_no_steps [0.136839s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodeInspectHardware.test_inspect_hardware_validate_fail [0.108719s] ... ok
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.api.test_acl.TestRBACProjectScoped.test_project_scoped_062_owner_admin_can_patch_node_instance_info [0.269768s] ... 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-2aef339c-f669-45b3-a3a6-832b66251209
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_not_supported [0.144616s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.298861s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-d65166c3-2ae4-4495-a581-928fa992f461
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_worker_pool_full [0.203813s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_requires_ramdisk [0.131568s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_063_owner_manager_can_patch_node_instance_info [0.234087s] ... 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-bb268a9c-15c9-4684-8a9e-3b0938e49101
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_005_nodes_post_service [0.135071s] ... 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-9788051e-7092-4f5e-954a-e4faaa4d8c24
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_reserved_options [0.114197s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodeTraitsTestCase.test_add_node_traits [0.162726s] ... ok
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_006_nodes_get_node_admin [0.076009s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-ba1ec268-e405-4769-99ed-c0065b81c939
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:27:57.349561+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_steps.NodeCleaningStepsTestCase.test_set_node_cleaning_steps_automated [0.125804s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodeTraitsTestCase.test_add_node_traits_invalid_parameter_value [0.128927s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_007_nodes_get_node_member [0.139066s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-ccb91c99-9718-4ae7-8abe-4f778ada16c5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:27:57.459251+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.api.test_acl.TestRBACProjectScoped.test_project_scoped_064_owner_member_can_patch_node_instance_info [0.282467s] ... 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-b61ddc91-77c2-47c8-94b3-70ef374bbb06
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test_set_node_cleaning_steps_manual [0.100063s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodeTraitsTestCase.test_add_node_traits_node_locked [0.144235s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_steps.ReservedStepHandlerByNameTestCase.test_reserved_step_wait [0.080629s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_008_nodes_get_node_reader [0.160095s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-7f5839e3-1426-4e50-9d05-4010af24d1f9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:27:57.606895+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_steps.ReservedStepHandlerByNameTestCase.test_reserved_step_wait_time [0.059226s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_009_nodes_get_node_other_admin ... SKIPPED: Not implemented yet
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_065_owner_reader_can_patch_node_instance_info [0.246508s] ... 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-884c486b-486c-4549-85c8-c85b2d384b96
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_steps.ReservedStepHandlerByNameTestCase.test_reserved_step_wait_time_to_long [0.061401s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodeTraitsTestCase.test_add_node_traits_node_not_found [0.159587s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_010_nodes_get_admin [0.065868s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-c24b5e45-f544-4798-af0f-a43ef0a107f5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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": "31651c86-5c1c-4d98-af9e-e05c0958a6ba", "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"}]}]}
{0} ironic.tests.unit.conductor.test_steps.ReservedStepsHandlerTestCase.test_reserved_step_power_off [0.069490s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_011_nodes_get_service [0.066541s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-dd9134b2-fc9e-469a-8d0d-1c6cf37d4920
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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": "8bcf2fcf-7246-433e-b8b6-653c9d61c9ea", "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"}]}]}
{0} ironic.tests.unit.conductor.test_steps.ReservedStepsHandlerTestCase.test_reserved_step_power_on [0.055855s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_steps.ReservedStepsHandlerTestCase.test_reserved_step_power_reboot [0.050666s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_012_nodes_get_service_project [0.074845s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-1d53e553-482f-45e1-8293-0cb45fd3791a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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": "0d7c1f6b-4e63-41d4-86d1-5fbb4c6fafc9", "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"}]}]}
{0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_callback_stable_state [0.024457s] ... ok
{0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_fsm_raises [0.023980s] ... ok
{2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_replace [0.209647s] ... ok
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.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_no_callback_notify [0.020956s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_013_nodes_get_service_project_disabled [0.077842s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-fa98976c-0a04-4001-a64a-4a8d6ad7102e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"nodes": []}
{0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_no_callback_stable_state [0.029166s] ... ok
{0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_callback [0.021462s] ... ok
{0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_callback_and_error_handler [0.021135s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_014_nodes_get_service_project_admin [0.067117s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-479e74db-f451-4ba0-a60a-1c62c73fd14c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"nodes": []}
{0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_target_state [0.026784s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_066_lessee_admin_can_patch_node_instance_info [0.353670s] ... 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-b30d0085-1585-41f5-9d36-e97eda52c0a4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_release_clears_resources [0.021601s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_015_nodes_get_other_admin ... SKIPPED: Not implemented yet
{0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock [0.030640s] ... ok
{0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_build_driver_exception [0.032376s] ... ok
{2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits [0.225537s] ... ok
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.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_no_retries [0.045441s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_016_nodes_detail_get_admin [0.094477s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/detail WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-dfe9ac15-3680-4650-95c3-eec2a0600bb3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:27:58.215779+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-30T17:27:58.218583+00:00", "updated_at": "2025-05-30T17:27:58.221977+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": "0f396cad-93d4-417c-9c9b-991a403f8175", "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": "0f396cad-93d4-417c-9c9b-991a403f8175", "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-30T17:27:58.238137+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"}]}]}
{0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_patient [0.031789s] ... ok
{0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_then_lock [0.055956s] ... ok
{0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_portgroups_exception [0.068469s] ... ok
{2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_all [0.169777s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_017_nodes_detail_get_member [0.156727s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/detail WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-f24ca933-53fc-4b84-ab79-624afb56ca1c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:27:58.347489+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-30T17:27:58.348716+00:00", "updated_at": "2025-05-30T17:27:58.352123+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": "07221694-1cd6-4362-8f1e-4f9444d2881a", "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": "07221694-1cd6-4362-8f1e-4f9444d2881a", "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-30T17:27:58.387609+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"}]}]}
{0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_ports_exception [0.062099s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_067_lessee_manager_can_patch_node_instance_info [0.355790s] ... 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-f276a7aa-0509-46cb-812a-58231b1bc41c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_018_nodes_detail_get_reader [0.107417s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/detail WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-19296986-d0a6-49fb-b3c1-d21ec8bdc802
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:27:58.493658+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-30T17:27:58.494819+00:00", "updated_at": "2025-05-30T17:27:58.499926+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": "1b072b06-f769-4ceb-9297-2a75f6ad3f7c", "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": "1b072b06-f769-4ceb-9297-2a75f6ad3f7c", "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-30T17:27:58.517766+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.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_empty [0.115817s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodeTraitsTestCase.test_remove_node_traits_node_locked [0.099064s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_068_lessee_member_cannot_patch_node_instance_info [0.146942s] ... 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-d40f43b7-86cc-4cce-882c-43cbc8ab30b4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_instance_info\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_019_nodes_detail_get_service [0.166597s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/detail WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-37a30b3b-9669-4090-9380-bb5b59a19849
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:27:58.613466+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-30T17:27:58.614643+00:00", "updated_at": "2025-05-30T17:27:58.618844+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": "beb5be68-32dc-41f2-8530-f7bcad90383a", "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": "beb5be68-32dc-41f2-8530-f7bcad90383a", "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-30T17:27:58.658589+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.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_not_found [0.100428s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_069_lessee_reader_can_patch_node_instance_info [0.148327s] ... 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-72822f1c-1bfc-4bc8-a9be-d4408f965bad
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_instance_info\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_trait_not_found [0.098288s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_020_nodes_node_ident_get_admin [0.138484s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-dd442c4a-43ee-4c30-b32b-beefe28c1bdb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:27:58.768504+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_task_manager.TaskManagerTestCase.test_excl_lock_get_volconn_exception [0.389219s] ... ok
{2} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action [0.065537s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_070_third_party_admin_cannot_patch_node_instance_info [0.119715s] ... 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-f23da893-6600-4414-bf0c-856b160d407a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_copies_object [0.057556s] ... ok
{0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_voltgt_exception [0.100798s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_071_owner_admin_cannot_delete_nodes [0.069003s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-8129657e-db3f-446a-9402-e24c0a0183aa
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_021_nodes_node_ident_get_member [0.147683s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-4945ce8e-03a5-4890-bdde-560f8715ac56
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:27:58.914533+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.conductor.test_manager.TestIndirectionApiConductor.test_object_action_on_object [0.067228s] ... ok
{0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_reserve_exception [0.067785s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_072_owner_admin_can_delete_nodes [0.077331s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-3f1fa5fa-54ea-48dd-aece-ca9f38bd3870
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_on_raise [0.045967s] ... ok
{0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_upgade_exception_no_retries [0.083735s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_073_service_cannot_delete_owner_admin_nodes [0.067846s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-d3a2797d-76db-4fdb-9804-a942382997cf
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_backport_versions [0.069527s] ... ok
{0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_nested_acquire [0.070413s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_074_service_can_delete_nodes_in_own_project [0.071774s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-d82ce21e-9953-43d9-bb73-a4bd5d82fd8b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action [0.059066s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_022_nodes_node_ident_get_reader [0.224857s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-e6f5d1ad-faa8-4ffc-9511-4ef74dc65ddf
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-30T17:27:59.099482+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.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action_on_object [0.048482s] ... ok
{0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_init_prepares_fsm [0.065587s] ... ok
{2} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action_on_raise [0.040100s] ... ok
{0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_no_driver [0.069751s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_075_owner_manager_cannot_delete_nodes [0.138166s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-3e8ee661-7793-4410-909f-1666c9ecfa83
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock [0.062718s] ... ok
{2} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target [0.095614s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_task_manager.TaskManagerTestCase.test_shared_lock_build_driver_exception [0.064989s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_023_nodes_node_ident_patch_admin [0.256279s] ... 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-6a406078-1121-4c06-9b4a-3394ef932dd4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_duplicate [0.098029s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_task_manager.TaskManagerTestCase.test_shared_lock_get_portgroups_exception [0.067364s] ... ok
{2} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_locked [0.063421s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_076_lessee_admin_cannot_delete_nodes [0.228140s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-6c030292-df60-42e8-94cd-a7f241c4259c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_ports_exception [0.060890s] ... ok
{0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_volconn_exception [0.057370s] ... ok
{2} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_not_found [0.100359s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_task_manager.TaskManagerTestCase.test_shared_lock_get_voltgt_exception [0.076086s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_077_lessee_manager_cannot_delete_nodes [0.178020s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-707b85fe-9d54-4d2d-986f-aacd5acb370b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_power_on [0.096730s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_024_system_admin_can_patch_chassis [0.287281s] ... 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-fa7cc10b-d2f6-4e4f-aa6d-3465943d6ff0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_node_get_exception [0.059859s] ... ok
{0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after [0.058946s] ... ok
{2} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_not_found [0.095609s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_task_manager.TaskManagerTestCase.test_spawn_after_exception_while_yielded [0.062119s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_078_third_party_admin_cannot_delete_nodes [0.158344s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-3bdbdc1f-ad7b-49fa-922c-628bb0170236
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_uuid [0.081616s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_task_manager.TaskManagerTestCase.test_spawn_after_link_fails [0.063770s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_025_system_member_can_patch_conductor_group [0.216594s] ... 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-db6360c0-1051-48c2-8110-c6a02da7f909
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_volume_type [0.094072s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_task_manager.TaskManagerTestCase.test_spawn_after_on_error_hook [0.070782s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_026_nodes_node_ident_patch_member [0.098326s] ... 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-e262f77e-4ece-454c-940d-70a7c6369755
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_079_owner_admin_can_validate_node [0.188026s] ... 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-ad6d3c22-f8b8-4614-8c6f-b4fad551a42c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_on_error_hook_exception [0.064013s] ... ok
{2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_async [0.110297s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_task_manager.TaskManagerTestCase.test_spawn_after_spawn_fails [0.055490s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_027_nodes_node_ident_patch_service [0.109510s] ... 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-9266e1d7-34a2-4874-9e5e-95bbbfdd8262
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_upgrade_lock [0.065337s] ... ok
{2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_driver_not_found [0.089154s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_acl.TestRBACProjectScoped.test_project_scoped_080_owner_manager_can_validate_node [0.153805s] ... 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-a5df614e-58eb-473c-b454-c1d8d7f5aaa3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_028_nodes_node_ident_patch_service_project [0.102763s] ... 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-f1fd6492-1be8-4ce4-bc29-6da601895ae7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_upgrade_lock_refreshes_fsm [0.097142s] ... ok
{2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_http_method_not_supported [0.116950s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACScopedRequests.test_system_scoped_029_nodes_node_ident_patch_reader [0.077923s] ... 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-df40759b-88b5-42f4-baab-10958b9188ed
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_extra\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error [0.052440s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_081_lessee_admin_can_validate_node [0.149177s] ... 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-e0b20406-f031-4fb0-9648-bc7ebf23562c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_cancelled [0.055877s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_030_nodes_node_ident_delete_admin [0.065683s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-fa4d3876-0c57-4b47-92e5-d2d5954e2e45
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_method_not_supported [0.119688s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_task_manager.ThreadExceptionTestCase.test_set_node_last_error_exists [0.046961s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_031_nodes_node_ident_delete_service [0.069404s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-f42d4304-18b2-40fc-a0a5-bb955298fec1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_no_error [0.054322s] ... ok
{2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_no_default_interface [0.080897s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_acl.TestRBACProjectScoped.test_project_scoped_082_lessee_manager_can_validate_node [0.159798s] ... 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-d704ffe3-3e13-4b55-9049-41b7415831c6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_032_nodes_node_ident_delete_member [0.081593s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-f7a9e713-a08b-4ab7-8569-d55e1ec0adb6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_sync [0.067404s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.GetAttachedVifTestCase.test_get_attached_vif_cleaning [0.074201s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_033_nodes_node_ident_delete_reader [0.066225s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-f071844d-4022-4685-95ea-d93765b754e9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_inspecting [0.076498s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_034_nodes_validate_get_admin [0.065954s] ... 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-5b86dc58-b4e7-4eae-9591-f1373c71bbc5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_validation_failed [0.120341s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.GetAttachedVifTestCase.test_get_attached_vif_none [0.079828s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_035_nodes_validate_get_member [0.079998s] ... 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-b8802340-be45-43cd-b6af-f2740ed0be3c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_provisioning [0.027689s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_083_owner_member_can_validate_node [0.231486s] ... 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-c30a1e15-c243-44d7-8884-1e66419a6172
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_rescuing [0.027736s] ... ok
{0} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_tenant [0.024941s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_036_nodes_validate_get_service [0.062695s] ... 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-8dad170b-133d-4dc5-9c6a-8fbb00d8952f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods [0.142997s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.NodeSetBootModeTestCase.test_node_set_boot_mode_adopting [0.046371s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_non_existent_mode [0.038102s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_084_lessee_member_cannot_validate_node [0.159087s] ... 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-d7d915fa-f06a-4ecb-ab84-34887eb7bac6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:validate\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods_no_default_interface [0.107807s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.NodeSetBootModeTestCase.test_node_set_boot_mode_valid [0.043052s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodeSoftPowerActionTestCase.test_node_power_action_power_soft_reboot [0.052760s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodeSoftPowerActionTestCase.test_node_power_action_power_soft_reboot_timeout [0.053885s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_085_third_party_admin_cannot_validate_node [0.140360s] ... 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-71ec4e4b-8143-4653-989b-22bae33965ab
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_node_vendor_passthru_methods [0.171768s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off [0.065130s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_086_owner_admin_can_set_maintenance [0.153341s] ... 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-b95ef716-6c88-4306-b2ba-827b763a8ebe
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off_storage_detach [0.116936s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_037_nodes_validate_get_service_project [0.450089s] ... 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-86723286-0e04-4b02-b60a-0a2f4697939d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off_timeout [0.112361s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_087_owner_manager_can_set_maintenance [0.152143s] ... 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-9991c234-885c-43a9-b744-3eae08d82e67
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.146083s] ... 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-70d6e6a5-49f3-4305-b904-c95aaebbcb07
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:validate\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_async [0.324756s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_create_1 [0.118071s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_088_lessee_admin_can_set_maintenance [0.130964s] ... 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-8c338aec-3a02-4d20-9a4a-a45cfc11be1d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_http_method_not_supported [0.083799s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACScopedRequests.test_system_scoped_039_nodes_maintenance_put_admin [0.139008s] ... 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-4798754d-f270-459c-a6f4-70711e05f133
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_create_2 [0.122176s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.VendorPassthruTestCase.test_vendor_passthru_missing_method_parameters [0.106520s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACScopedRequests.test_system_scoped_040_nodes_maintenance_put_member [0.092440s] ... 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-bc747c67-61a5-45fe-b0d8-079cd001f43f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_089_lessee_manager_can_set_maintenance [0.179525s] ... 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-c318e18a-b8e6-4368-bc50-9ef288460f77
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_node_already_locked [0.075714s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACScopedRequests.test_system_scoped_041_nodes_maintenance_put_reader [0.081040s] ... 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-46c69903-c21e-482f-a677-fb7694ee60d5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_maintenance\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_1 [0.153401s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.VendorPassthruTestCase.test_vendor_passthru_shared_lock [0.083907s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACScopedRequests.test_system_scoped_042_nodes_maintenance_delete_admin [0.075658s] ... 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-9c86097f-4257-4558-b6af-2978a066864f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_sync [0.073731s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACScopedRequests.test_system_scoped_043_nodes_maintenance_delete_member [0.071503s] ... 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-7ecc4f93-51a1-4606-b633-904d91409ca5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_090_owner_member_can_set_maintenance [0.196258s] ... 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-7610488a-28d8-42de-9d40-44bffe8fe4e0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_2 [0.147020s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_044_nodes_maintenance_delete_reader [0.069206s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-e2eb4fcc-c026-422a-8542-548d4ea00ab7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:clear_maintenance\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_unsupported_method [0.126312s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.TestRBACScopedRequests.test_system_scoped_045_nodes_management_boot_device_put_admin [0.073494s] ... 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-28e00b66-8585-4321-856c-9ccf60f87ccf
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_add_1 [0.101005s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_091_lessee_member_cannot_set_maintenance [0.152750s] ... 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-1d017b66-de8b-4b2a-a1f2-3ae2d90cb379
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_maintenance\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_046_nodes_management_boot_device_put_member [0.095405s] ... 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-f61adc4f-8969-450a-b142-6f353c648a97
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_add_2 [0.083440s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.VendorPassthruTestCase.test_vendor_passthru_worker_pool_full [0.169914s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_1 [0.051416s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_092_third_party_admin_cannot_set_maintenance [0.154675s] ... 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-580d4fe2-9db1-4d0f-99d9-4b3492eea177
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification [0.059949s] ... ok
{0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_2 [0.052017s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_047_nodes_management_boot_device_put_reader [0.140349s] ... 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-4162d0fb-cc61-4100-8c9a-889e2bf0be01
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification_known_notify_exc [0.059097s] ... ok
{0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_3 [0.058726s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_payload_exc [0.058097s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_048_nodes_management_boot_device_get_admin [0.071534s] ... 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-67dfb389-59c3-43ff-b782-8d11d99547f5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_1 [0.092641s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_console_notification [0.051474s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_049_nodes_management_boot_device_get_member [0.064992s] ... 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-175bfac9-6020-4871-a7e2-6674d601376f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_console_notification_error_status [0.064293s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_050_nodes_management_boot_device_get_reader [0.066237s] ... 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-4ecddd6f-5224-4baf-a7a6-eb8e02159c42
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_power_set_notification [0.042930s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_051_nodes_management_boot_device_supported_get_admin [0.068860s] ... 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-23eb5107-9c3a-4554-b0b0-40f8690d1146
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_power_state_corrected_notification [0.063849s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_052_nodes_management_boot_device_supported_get_member [0.070571s] ... 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-7df8b820-7170-467e-8813-5d2e29276dd4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_all_steps [0.090712s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_053_nodes_management_boot_device_supported_get_reader [0.070134s] ... 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-bb72489a-6182-4dcb-9026-b260227d9cb1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_disable_core_steps [0.095161s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_093_owner_admin_can_unset_maintenance [0.547031s] ... 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-a349bbf1-ed6a-425b-8199-070d149d958b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_054_nodes_management_inject_nmi_put_admin [0.069791s] ... 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-cd132a7d-7707-4728-80ea-f7dc9e208fd3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_2 [0.424509s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_055_nodes_management_inject_nmi_put_member [0.069368s] ... 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-4a1dd0cc-da61-4199-b82e-d62613dcd213
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_duplicate_template_and_user_steps [0.097511s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_094_owner_manager_can_unset_maintenance [0.136090s] ... 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-b1048e53-9e25-4980-becc-48bb77902782
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_056_nodes_management_inject_nmi_put_reader [0.071683s] ... 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-b740d6ed-31ec-417d-ba93-77fb0252f611
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:inject_nmi\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_3 [0.106514s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_duplicate_template_steps [0.088562s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_095_lessee_admin_can_unset_maintenance [0.073450s] ... 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-a12b2e7c-b36d-4168-a779-69f8b65bba77
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_057_nodes_states_get_admin [0.066513s] ... 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-aa941e9c-e161-4ab4-beb9-d652b856d6ef
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_error [0.086579s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_058_nodes_states_get_member [0.064430s] ... 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-3eae2a10-d3f2-4afe-804b-9db389663cc0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.api.test_acl.TestRBACProjectScoped.test_project_scoped_096_lessee_manager_can_unset_maintenance [0.075701s] ... 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-49a0c917-35dd-416c-9912-1b9d33e596d3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_1 [0.127081s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_steps [0.084550s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_059_nodes_states_get_reader [0.077182s] ... 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-be0565aa-52d6-464a-aa55-7ef7de404679
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.api.test_acl.TestRBACProjectScoped.test_project_scoped_097_owner_member_can_unset_maintnenance [0.120873s] ... 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-d874876f-c714-4b1a-91fd-0fd11454c0eb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_2 [0.125523s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.063823s] ... 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-1c198038-a461-44c2-9d9d-d8f6e4ab0d57
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_template_and_driver_steps [0.095533s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.063632s] ... 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-b81b343c-e909-4063-b697-bfd42e0d95de
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_3 [0.115180s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.063669s] ... 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-ccc5d411-5828-4de4-ac1e-42d4ae2c0747
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_power_state\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_template_and_user_steps [0.100597s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_098_lessee_member_cannot_unset_maintenance [0.151538s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-d80bfec9-d10f-482b-a044-7b3527304934
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.TestRBACScopedRequests.test_system_scoped_063_nodes_states_boot_mode_put_admin [0.065365s] ... 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-86bab800-a46d-4a93-bfc9-05a1e4123b3c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_user_and_driver_steps [0.086462s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_no_physnet_update_1 [0.128733s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.064909s] ... 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-2993dd0d-a4b4-489f-8270-d1753e2e4399
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_099_third_party_admin_cannot_unset_maintenance [0.166139s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/114b6b9d-04c2-4e70-8507-82f63e8b1817/maintenance GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-45a2e7c5-a37b-4fce-a0ed-8de9502720c5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 114b6b9d-04c2-4e70-8507-82f63e8b1817 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_override_driver_steps [0.096928s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.072388s] ... 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-b99ac6fa-51b5-4ba7-a94c-914cb8df0fb8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_no_physnet_update_2 [0.120127s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.067489s] ... 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-ea2931cd-b282-4367-a87b-f8ec50a09245
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_override_template_steps [0.095686s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_1 [0.100943s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_067_nodes_states_secure_boot_put_member [0.065377s] ... 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-34344f42-35aa-4a9d-af4a-c9e4f0bd6f54
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_100_owner_admin_can_set_boot_device [0.173688s] ... 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-3db9e9aa-fd47-44ea-b3a7-c7ec0cfa4e39
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_skip_missing [0.088207s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.066252s] ... 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-034147e0-91b8-4fe4-8541-11ee7a5269a6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_2 [0.130515s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_template_and_driver_steps [0.099120s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.062817s] ... 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-c3f83cbc-a5ad-4337-8e98-c0cb235241a4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_101_owner_manager_can_set_boot_device [0.163672s] ... 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-40610b60-ab92-4d55-851b-ee5480783fff
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_070_nodes_states_provision_put_member [0.066396s] ... 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-1ff35479-21cc-4048-8ad9-eed244d26855
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_user_and_driver_steps [0.087710s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.067082s] ... 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-112ce22b-2af3-4e42-8637-aeb8ef685a67
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_3 [0.142482s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_user_and_template_steps [0.055197s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_steps.NodeDeployStepsTestCase.test__get_deploy_steps_unsorted [0.045719s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_102_lessee_admin_cannot_set_boot_device [0.156745s] ... 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-7173dff9-fc44-4859-998a-f1d2fd0b2bba
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_steps [0.044896s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_create_1 [0.101837s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.120031s] ... 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-45b1a0e3-3e12-4398-8b48-0e5da1c869f5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_steps_only_enabled [0.039465s] ... ok
{2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_templates [0.041519s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_create_2 [0.097246s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_steps.NodeDeployStepsTestCase.test__get_deployment_templates_no_traits [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(
{0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_update_1 [0.048708s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_103_lessee_manager_cannot_set_boot_device [0.179716s] ... 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-68527755-c627-43c6-89f9-fe3bbc77643e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_update_2 [0.051726s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_steps.NodeDeployStepsTestCase.test__get_steps_from_deployment_templates [0.102550s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.ValidatePortPhysnetTestCase.test_validate_port_physnet_inconsistent_physnets [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(
{0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_inconsistent_physnets_fix [0.053206s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps [0.087174s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_104_owner_member_cannot_set_boot_device [0.160681s] ... 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-936047db-bb3a-4dc6-83e9-9a6a6542c8f3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_no_portgroup_create [0.040585s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.ValidatePortPhysnetTestCase.test_validate_port_physnet_no_portgroup_update [0.081121s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_disable_core [0.107370s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{0} ironic.tests.unit.conf.test_types.ExplicitAbsolutePath.test_explicit_absolute_path [0.041232s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_105_lessee_member_cannot_set_boot_device [0.149844s] ... 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-3c795998-862b-4ae1-9c94-ef88ddc830f1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"}
{0} ironic.tests.unit.console.container.test_console_container.TestConsoleContainerFactory.test_factory [0.044210s] ... ok
{2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_disable_non_core [0.112496s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.container.test_console_container.TestSystemdConsoleContainer.test__container_name [0.049833s] ... ok
{0} ironic.tests.unit.console.container.test_console_container.TestSystemdConsoleContainer.test__container_path [0.041117s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_106_third_party_admin_cannot_set_boot_device [0.148207s] ... 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-81746fd6-01a7-4436-986d-4ff0879e9313
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_duplicates [0.094486s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.container.test_console_container.TestSystemdConsoleContainer.test__host_port [0.047967s] ... ok
{0} ironic.tests.unit.console.container.test_console_container.TestSystemdConsoleContainer.test__reload [0.050910s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_073_nodes_states_raid_put_admin [0.711529s] ... 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-4846c924-2922-435a-b6cf-ccec6435d808
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_get_steps_exception [0.101289s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.container.test_console_container.TestSystemdConsoleContainer.test__start [0.045793s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_107_owner_admin_can_get_boot_device [0.145759s] ... 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-a68ae48b-c195-402a-9bbb-e4cde1ae1b40
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.console.container.test_console_container.TestSystemdConsoleContainer.test__stop [0.048504s] ... ok
{2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_invalid_arg [0.091449s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.123841s] ... 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-c8edf242-1404-4b61-a8b3-e716374d9423
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.console.container.test_console_container.TestSystemdConsoleContainer.test__unit_name [0.047571s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_108_owner_manager_can_get_boot_device [0.097566s] ... 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-10ee9ab5-8e2b-4dc7-91c9-4254183c0104
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.console.container.test_console_container.TestSystemdConsoleContainer.test__write_container_file [0.048901s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_109_lessee_admin_cannot_get_boot_device [0.070933s] ... 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-77fe7a0d-d13f-42b8-9ffd-c4d250bf9d3e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"}
{0} ironic.tests.unit.console.container.test_console_container.TestSystemdConsoleContainer.test_delete_container_file [0.036571s] ... ok
{0} ironic.tests.unit.console.container.test_console_container.TestSystemdConsoleContainer.test_start_stop_container [0.031350s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_075_nodes_states_raid_put_reader [0.151043s] ... 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-2f3fed3e-294c-48af-ae86-bd0bece3f87a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_raid_state\", \"debuginfo\": null}"}
{0} ironic.tests.unit.console.container.test_console_container.TestSystemdConsoleContainer.test_stop_all_containers [0.029138s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_110_owner_member_cannot_get_boot_device [0.095918s] ... 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-2333695c-f58b-4e6c-81fa-1ce1f3eefadd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"}
{0} ironic.tests.unit.console.rfb.test_authnone.RFBAuthSchemeNoneTestCase.test_handshake [0.021026s] ... ok
{0} ironic.tests.unit.console.rfb.test_authnone.RFBAuthSchemeNoneTestCase.test_types [0.020393s] ... ok
{0} ironic.tests.unit.db.sqlalchemy.test_api.TestDBWriteMethodsRetryOnDeadlock.test_retry_on_deadlock [0.018864s] ... ok
{0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_migrate_up [0.022058s] ... ok
{0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_migrate_up_with_data [0.021581s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_076_nodes_states_console_get_admin [0.141076s] ... 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-a185d8f9-e32b-442b-ac82-0807cf3ccfa9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_walk_versions_all_default [0.040459s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_111_lessee_member_cannot_get_boot_device [0.157297s] ... 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-f3c80765-8070-4f41-bac8-9894caf96759
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_missing_required_arg [0.389317s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.sqlalchemy.test_migrations.TestWalkVersions.test_walk_versions_all_false [0.044873s] ... ok
{0} ironic.tests.unit.db.sqlalchemy.test_models.TestGetClass.test_get_class [0.018511s] ... ok
{0} ironic.tests.unit.db.sqlalchemy.test_models.TestGetClass.test_get_class_bad [0.019863s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_077_nodes_states_console_get_member [0.138163s] ... 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-e47befc3-da41-4b4e-8e4e-03dbdbabbba3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_default_value [0.028424s] ... ok
{2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_no_steps [0.085019s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_type_check [0.024376s] ... ok
{0} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_default_value [0.028431s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_112_owner_reader_cannot_get_boot_device [0.172118s] ... 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-8db7d0ad-e161-44e7-a14d-3885521b4b86
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"}
{0} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_type_check [0.029228s] ... ok
{2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_not_supported [0.088565s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.130139s] ... 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-6a8ea9bb-363e-48d1-bb47-b3616a5efa07
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"}
{0} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_empty_db [0.061873s] ... ok
{2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_override_core [0.065384s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_skip_missing [0.038315s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_113_lessee_reader_cannot_get_boot_device [0.161506s] ... 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-1d58aeea-6ad6-4847-b605-752676b5d43c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test_set_node_deployment_steps [0.045791s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.157009s] ... 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-6859f7cf-5151-4496-b12e-3ae385cfd377
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test_set_node_deployment_steps_skip_missing [0.047735s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_error_on_template [0.037978s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_error_on_usersteps [0.039493s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_114_third_party_admin_cannot_get_boot_device [0.142545s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/dda54a60-23a2-424e-b2b5-d7003f1c8716/management/boot_device WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-78f658ab-af12-4c27-b43e-68bcf4c8f46d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node dda54a60-23a2-424e-b2b5-d7003f1c8716 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_ok [0.039095s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_080_nodes_states_console_put_admin [0.166874s] ... 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-dc56053e-c7de-4480-8148-1e8935a834db
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_skip_missing [0.040713s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.ErrorHandlersTestCase.test_abort_on_conductor_take_over_cleaning [0.030574s] ... ok
{2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_abort_on_conductor_take_over_deploying [0.026328s] ... ok
{2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler [0.028130s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_115_owner_admin_can_get_supported_boot_devices [0.156703s] ... 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-2d0c55a6-4a90-4117-b03b-46760e3a871d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_cleanfail [0.028918s] ... ok
{2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_cleanwait [0.027913s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_081_nodes_states_console_put_member [0.150770s] ... 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-cf613ce9-c0be-4d9a-958e-51a1cc84e424
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_manual [0.025956s] ... ok
{2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_no_fail [0.026802s] ... ok
{0} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_max_count_zero [0.532759s] ... ok
{2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_no_teardown [0.025896s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_116_owner_manager_can_get_supported_boot_devices [0.160595s] ... 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-bda363ba-f0d9-4595-bfea-990b7ffa1533
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_tear_down_error [0.031123s] ... ok
{2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_cleanwait_timeout [0.028360s] ... ok
{2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_cleanwait_timeout_handler_call [0.025221s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_082_nodes_states_console_put_reader [0.163599s] ... 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-cf955d19-9346-4f9f-b6be-883aac9ce705
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout [0.032568s] ... ok
{0} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_1 [0.132342s] ... ok
{2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout_known_exc [0.032938s] ... ok
{2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout_unknown_exc [0.034027s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_117_owner_member_cannot_get_supported_boot_devices [0.166978s] ... 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-6fc38bbb-8849-4f0d-bdac-d38c09ea0539
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_servicewait_timeout [0.056476s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_083_nodes_states_console_put_service [0.153398s] ... 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-642ea41b-b873-4efa-806e-60d9241fb7fc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_118_lessee_admin_cannot_get_supported_boot_devices [0.070406s] ... 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-f6dda8c3-579e-4468-9ccd-e611f101e804
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_servicewait_timeout_handler_call [0.054556s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_119_lessee_manager_cannot_get_supported_boot_devices [0.069106s] ... 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-108d40ed-bb87-4f29-958e-d7a7aee40afe
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_power_state_error_handler_no_worker [0.066198s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_084_nodes_vendor_passthru_methods_get_admin [0.143229s] ... 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-4bbf6e69-79e8-4c13-baf4-893812603c0b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_120_third_party_admin_cannot_get_supported_boot_devices [0.070639s] ... 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-617e24a3-a2b5-4fa3-9d65-8abdcbc0ef76
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_2_some_nodes [0.294162s] ... ok
{2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_power_state_error_handler_other_error [0.066028s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_121_owner_admin_can_send_non_masking_interrupt [0.067745s] ... 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-aa24444d-7a13-4c30-bb7b-e170b611156c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_provision_error_handler_no_worker [0.067244s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_085_nodes_vendor_passthru_methods_get_member [0.151291s] ... 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-442fc589-d4b5-408d-98ff-3e3cc9a57b4a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_122_owner_manager_can_send_non_masking_interrupt [0.078073s] ... 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-2d0e569a-a836-4d4a-98c1-00843564e1ae
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_provision_error_handler_other_error [0.067755s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_123_lessee_admin_cannot_send_non_masking_interrupt [0.079949s] ... 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-9ffcefca-50e5-4858-adfc-a5f8ad9af0e8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:inject_nmi\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler [0.057524s] ... ok
{0} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_same_nodes [0.245488s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_086_nodes_vendor_passthru_methods_get_reader [0.135351s] ... 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-ec503814-9d15-4d45-9032-24bf73d28536
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_bad_state [0.062172s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_124_lessee_manager_cannot_send_non_masking_interrupt [0.080226s] ... 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-db56dea3-a392-4d1f-a203-f1aa3dcddb45
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:inject_nmi\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_ironic_exc [0.061296s] ... ok
{0} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_one_node [0.108170s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_125_third_party_admin_cannot_send_non_masking_interrupt [0.090378s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PUT /v1/nodes/8441694e-a790-4c74-b8d2-dd7f89ee9d2d/management/inject_nmi WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-48aadd5c-aff6-4181-ac28-68546da482ca
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 8441694e-a790-4c74-b8d2-dd7f89ee9d2d could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_version_exists [0.034891s] ... ok
{2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_other_exc [0.067664s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_087_nodes_vendor_passthru_get_admin [0.146892s] ... 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-6e08aec2-8da4-44b5-8644-71f50936e3f9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_allocations_get_destroyed_after_destroying_a_node_by_uuid [0.042497s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list [0.030041s] ... ok
{2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_set_failed_state_false [0.058859s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list_impossible [0.026482s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list_non_existing [0.031413s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_126_owner_reader_get_states [0.142256s] ... 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-d35a6a3e-94e9-498a-8486-7e89c3d4a066
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.conductor.test_utils.ErrorHandlersTestCase.test_servicing_error_handler [0.062943s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node [0.027651s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_088_nodes_vendor_passthru_get_member [0.141171s] ... 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-e5d8c9b0-7c1e-4176-b293-36653a653a87
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"}
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_already_exists [0.026948s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_instance_already_associated [0.025714s] ... ok
{2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_servicing_error_handler_no_fail [0.053835s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_name_duplicate [0.026182s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_with_tags [0.023248s] ... ok
{2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_servicing_error_handler_no_teardown [0.056469s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_127_lessee_reader_get_states [0.142710s] ... 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-cfdb4c51-a21d-4104-876f-c7a9a0cf45de
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_with_traits [0.033163s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_089_nodes_vendor_passthru_get_reader [0.140222s] ... 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-69868f3d-5f61-4839-8699-22348dc90497
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_servicing_error_handler_servicefail [0.066725s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node [0.077159s] ... ok
{2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_servicing_error_handler_servicewait [0.069023s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node_by_uuid [0.060335s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_090_nodes_vendor_passthru_post_admin [0.169927s] ... 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-357a6656-eb68-4e20-aa0d-0120b44f5143
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_servicing_error_handler_tear_down_error [0.078375s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node_that_does_not_exist [0.038168s] ... ok
{2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_cleaning_error_handler_no_worker [0.064463s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_firmware_component_list_after_destroying_a_node_by_uuid [0.067950s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_id [0.038840s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_091_nodes_vendor_passthru_post_member [0.157546s] ... 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-efa1fca3-ff74-42a8-a2a1-8acc0df5c46e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_cleaning_error_handler_other_error [0.087221s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance [0.040035s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance_invalid_uuid [0.022782s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance_wrong_uuid [0.024894s] ... ok
{2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_deploying_error_handler_no_worker [0.069427s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_name [0.037995s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses [0.031498s] ... ok
{2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_deploying_error_handler_other_error [0.055150s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_092_nodes_vendor_passthru_post_reader [0.151519s] ... 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-7bf08484-62ed-4534-a437-2cec28dde273
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_128_third_part_admin_cannot_get_states [0.518108s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/8122c82c-ec07-49c9-90a6-796143f7a9b9/states WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-dd5f73f4-35c1-462e-aa44-8af44c2df394
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 8122c82c-ec07-49c9-90a6-796143f7a9b9 could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses_multiple_found [0.034000s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses_not_found [0.026666s] ... ok
{2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_rescue_error_handler_no_worker [0.058714s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_uuid [0.039150s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list [0.033536s] ... ok
{2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_rescue_error_handler_other_error [0.069344s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_chassis_not_found [0.026029s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_093_nodes_vendor_passthru_put_admin [0.152728s] ... 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-558cee6c-8a4f-4c6d-8486-a28864c5105f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_129_owner_admin_can_put_power_state_change [0.150062s] ... 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-8999bfe1-20ec-4320-8de5-1c3ec1e9ee81
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_description [0.034475s] ... ok
{2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_servicing_error_handler_no_worker [0.070262s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_filter_by_project [0.040057s] ... ok
{2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_servicing_error_handler_other_error [0.051719s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_includes_traits [0.065211s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_094_nodes_vendor_passthru_put_member [0.150477s] ... 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-9778e86c-b61b-4e00-a22e-7f3321bf2ef8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track [0.043961s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_130_owner_manager_can_put_power_state_change [0.153603s] ... 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-3f017dbc-4939-4444-8efe-e41d9e592b66
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_config_false [0.051782s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_nodes.DbNodeTestCase.test_get_node_list_requested_fields_no_traits [0.082166s] ... ok
{2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_disabled_in_driver_info [0.042374s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_disabled_in_driver_info_string [0.042084s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_095_nodes_vendor_passthru_put_reader [0.160901s] ... 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-cb537c81-70ff-47b5-a4a5-0a04c15926ad
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_131_lessee_admin_can_put_power_state_change [0.164774s] ... 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-3440859f-f7aa-4c7b-b273-f531ecdc129f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_requested_fields_with_traits [0.118556s] ... ok
{2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_error_blocks [0.051811s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_inspected_no_heartbeat [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.conductor.test_utils.FastTrackTestCase.test_is_fast_track_no_heartbeat [0.045999s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_not_in_servicing [0.040552s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_096_nodes_vendor_passthru_delete_admin [0.173929s] ... 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-14ee8cb8-f32d-4d15-9b0f-2e50439eb382
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_132_lessee_manager_can_put_power_state_change [0.179849s] ... 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-a8a98b5a-f35e-4e66-b45f-c96bdf339bb1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_power_off_false [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(
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_with_filters [0.242642s] ... ok
{2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_powered_after_heartbeat [0.065888s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_097_nodes_vendor_passthru_delete_member [0.143758s] ... 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-5c27aa46-76e9-4a40-9016-49c9501c93ac
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"}
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_that_does_not_exist [0.056984s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_133_owner_member_can_put_power_state_change [0.146130s] ... 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-601ea9bc-a1ee-4554-8248-4234b174517a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_defaults [0.070431s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_description [0.052354s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_098_nodes_vendor_passthru_delete_reader [0.141771s] ... 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-7f26370a-3a68-41de-9699-3ca4936582ce
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_134_lessee_member_can_put_power_state_change [0.149446s] ... 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-2f48ed82-6776-4b20-8e07-1692535f1cf7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_inspection [0.070091s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_provision [0.060024s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_099_nodes_traits_get_admin [0.144704s] ... 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-5c6becd6-71fd-48ef-b3e0-233a8240112c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"traits": ["trait1"]}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_135_owner_reader_cannot_put_power_state_change [0.141081s] ... 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-ef549990-4425-4f3a-bab7-8ec9f13312b9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_power_state\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_via_driver_info [0.383286s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_nodes.DbNodeTestCase.test_get_nodeinfo_list_with_cols [0.068725s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_with_filters [0.089233s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_100_nodes_traits_get_member [0.145354s] ... 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-aba7da5f-d328-4dcd-ba5f-ac75ec5ed1cd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"traits": ["trait1"]}
{2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_via_driver_info_string [0.105453s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_136_lessee_reader_cannot_put_power_state_change [0.142113s] ... 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-e469ea94-1fb7-4231-aa14-c24a90105490
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_power_state\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_build_empty [0.063550s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_history_get_destroyed_after_destroying_a_node_by_uuid [0.074980s] ... ok
{2} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_build_populated [0.047609s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_101_nodes_traits_get_reader [0.149335s] ... 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-7aff1dfc-1052-400a-b8a4-539c88d053e0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"traits": ["trait1"]}
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_inventory_get_destroyed_after_destroying_a_node_by_uuid [0.079912s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_137_third_party_admin_cannot_put_power_state_change [0.148178s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PUT /v1/nodes/1801dabd-be23-48c0-9d24-d9bbc0c66a8d/states/power WITH {'target': 'power on'} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-c065f77a-f70b-4727-9326-6d522d9a2090
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1801dabd-be23-48c0-9d24-d9bbc0c66a8d could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_build_user_data_as_dict [0.061970s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_inventory_updated_for_node [0.055704s] ... ok
{2} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_build_user_data_as_string [0.068502s] ... ok
{2} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_no_configdrive [0.048818s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_102_nodes_traits_put_admin [0.151503s] ... 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-f1c89dee-2838-4a00-8c10-8681688d5237
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_node_provision_state_count [0.068851s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_138_owner_admin_can_put_boot_mode_state_change [0.144250s] ... 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-0f3760ea-a4dc-4aa4-b31b-9bb76c038d65
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_string [0.057330s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_ports_get_destroyed_after_destroying_a_node [0.075394s] ... ok
{2} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_clean_steps [0.095633s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_nodes.DbNodeTestCase.test_ports_get_destroyed_after_destroying_a_node_by_uuid [0.069262s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_103_nodes_traits_put_member [0.151035s] ... 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-0aeb20c9-a8e8-48c5-b584-beb0a0d79176
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_139_owner_manager_can_put_boot_mode_state_change [0.144412s] ... 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-b38c2b71-1993-456c-8b9b-7b2eab1c4605
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_non_existent_node [0.075205s] ... ok
{2} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_clean_steps_no_skip [0.093175s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_104_nodes_traits_put_reader [0.147726s] ... 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-9754f6bd-3b8d-4e68-9fc5-a1e976e747ae
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_140_lessee_admin_can_put_boot_mode_state_change [0.140578s] ... 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-4cede3b2-c309-4e52-8d99-7d91b0246d35
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_clean_steps_unset_clean_step [0.100619s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.GetNodeNextStepsTestCase.test_get_node_next_deploy_steps [0.091511s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_105_nodes_traits_delete_admin [0.157421s] ... 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-5af7e512-0e39-441d-9665-37f3a42d9366
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_141_lessee_manager_can_put_boot_mode_state_change [0.163533s] ... 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-b536bd57-27bd-4d83-96b9-f5464c94aaa3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_deploy_steps_no_skip [0.107310s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_106_nodes_traits_delete_member [0.142347s] ... 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-486f9b48-2d1a-41ad-881a-388dda4bced8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_142_owner_member_can_put_boot_mode_state_change [0.141992s] ... 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-1876f2c5-0589-4a01-bbb7-79183ac980b1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_deploy_steps_unset_deploy_step [0.089404s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_nodes.DbNodeTestCase.test_release_non_locked_node [0.408102s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_reservation [0.065108s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.GetNodeNextStepsTestCase.test_get_node_next_steps_exception [0.092285s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_107_nodes_traits_delete_reader [0.139332s] ... 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-4efe22f9-d024-4893-85f3-e7b91e75e135
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_143_lessee_member_can_put_boot_mode_state_change [0.143711s] ... 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-2b3ce05b-10ce-4e20-ab51-0b276766c574
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history [0.063731s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_after_release [0.082678s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_nodes.DbNodeTestCase.test_reservation_in_exception_message [0.056656s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_nodes.DbNodeTestCase.test_reservation_non_existent_node [0.032260s] ... ok
{2} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history_disaled [0.123580s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_of_reserved_node_fails [0.035001s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_144_owner_reader_cannot_put_boot_mode_state_change [0.182911s] ... 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-bc8409b8-f42d-40e0-b60e-c9b11ca51590
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_mode\", \"debuginfo\": null}"}
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reserve_node [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(
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reserve_node_reads_reservation_once_sqlite [0.028522s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_nodes.DbNodeTestCase.test_reserve_node_reads_reservation_twice [0.031326s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodeHistoryRecordTestCase.test_record_node_history_noop [0.125184s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_tags_get_destroyed_after_destroying_a_node [0.039698s] ... ok
{2} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history_with_error_severity [0.066610s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_145_lessee_reader_cannot_put_boot_mode_state_change [0.150358s] ... 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-f291a851-5eaa-4cf5-b0b6-0d9d690a3657
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_mode\", \"debuginfo\": null}"}
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_tags_get_destroyed_after_destroying_a_node_by_uuid [0.041332s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_touch_node_provisioning [0.030998s] ... ok
{2} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history_with_user [0.059672s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_touch_node_provisioning_not_found [0.025854s] ... ok
{2} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits [0.034006s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_traits_get_destroyed_after_destroying_a_node [0.038647s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_traits_get_destroyed_after_destroying_a_node_by_uuid [0.035601s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_146_third_party_admin_cannot_put_boot_mode_state_change [0.140563s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PUT /v1/nodes/ec770fef-f424-4310-96ba-c94904f8b9aa/states/boot_mode WITH {'target': 'uefi'} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-94032502-e058-415f-b118-d0ab806fe3f9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node ec770fef-f424-4310-96ba-c94904f8b9aa could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_empty_instance_traits [0.053818s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node [0.031840s] ... ok
{2} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_invalid_trait_type [0.037986s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_108_nodes_traits_trait_put_admin [0.547132s] ... 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-e8142fc7-6d8e-46b0-a914-7464e2602e5c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_associate_and_disassociate [0.037280s] ... ok
{2} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_invalid_type [0.047533s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_finished_at [0.031645s] ... ok
{2} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_missing [0.042702s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_finished_at_inspecting [0.030903s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_finished_at_inspectwait [0.030989s] ... ok
{2} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_no_instance_traits [0.044576s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_147_owner_admin_can_put_secure_boot_state_change [0.180724s] ... 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-de6f7288-a8b5-4f5b-987a-19b1e59d5ab8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_started_at [0.044669s] ... ok
{2} ironic.tests.unit.conf.test_auth.AuthConfTestCase.test_add_auth_opts [0.046526s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_109_nodes_traits_trait_put_member [0.185724s] ... 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-4ec9a85f-437e-49d5-8ec1-e5dedc934fef
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.conf.test_conductor.ValidateConductorAllowedPaths.test_abspath_validation_bad_path_raises [0.043062s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_started_at_inspecting [0.065440s] ... ok
{2} ironic.tests.unit.conf.test_conductor.ValidateConductorAllowedPaths.test_abspath_validation_good_paths [0.048306s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_148_owner_manager_can_put_secure_boot_state_change [0.143159s] ... 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-c554ce5d-294f-438f-8314-3e39335b4b44
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_started_at_inspectwait [0.061909s] ... ok
{2} ironic.tests.unit.conf.test_conductor.ValidateConductorAllowedPaths.test_abspath_validation_good_paths_trailing_slash [0.038615s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_110_nodes_traits_trait_put_reader [0.147037s] ... 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-cb5d8267-a1a3-4372-9e9f-e6b43f5fa4df
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"}
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_instance_already_associated [0.070995s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_149_lessee_admin_can_put_secure_boot_state_change [0.133124s] ... 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-355a9747-9c72-4aa6-9438-665e8324db11
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.console.securityproxy.test_websocketproxy.IronicProxyRequestHandlerDBTestCase.test_new_websocket_client_db [0.130643s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_name_duplicate [0.061965s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_111_nodes_traits_trait_delete_admin [0.140364s] ... 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-1b48c8d2-5721-4126-b399-4af1d216a79e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_no_provision [0.076184s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_150_lessee_manager_can_put_secure_boot_state_change [0.148248s] ... 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-c5f327aa-39d6-42cc-ae3a-980bb6535297
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.console.securityproxy.test_websocketproxy.IronicProxyRequestHandlerDBTestCase.test_new_websocket_client_db_instance_not_found [0.136062s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_not_found [0.064917s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_112_nodes_traits_trait_delete_member [0.138078s] ... 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-6b43d60f-e716-4987-b73c-d420f28c6cd0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_provision [0.075361s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_151_owner_member_can_put_secure_boot_state_change [0.127845s] ... 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-79bff94b-fcda-4d37-8706-71e9220c15b1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.console.securityproxy.test_websocketproxy.IronicProxyRequestHandlerTestCase.test__close_connection [0.132870s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_113_nodes_traits_trait_delete_reader [0.121078s] ... 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-b8c3f806-d59a-4a52-aab0-6203a0769901
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_152_lessee_member_can_put_secure_boot_state_change [0.138973s] ... 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-cfb096c7-8b11-4a02-9cc4-6b305abb087e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.console.securityproxy.test_websocketproxy.IronicProxyRequestHandlerTestCase.test__close_connection_raise_OSError [0.130120s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_114_nodes_vifs_get_admin [0.134844s] ... 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-e0b76c20-aaf5-4247-98ed-e121dd5b6459
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_153_owner_reader_cannot_put_secure_boot_state_change [0.130412s] ... 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-76d57d82-4ea4-4535-bb41-3b6bd796f49a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_secure_boot\", \"debuginfo\": null}"}
{2} ironic.tests.unit.console.securityproxy.test_websocketproxy.IronicProxyRequestHandlerTestCase.test_address_string_doesnt_do_reverse_dns_lookup [0.142521s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_115_nodes_vifs_get_member [0.140875s] ... 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-69bbceec-50a9-448b-867a-a82ae560ee9f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_154_lessee_reader_cannot_put_secure_boot_state_change [0.147667s] ... 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-a9a231af-4a4b-42d3-8c9b-a24ca6aa5114
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_secure_boot\", \"debuginfo\": null}"}
{2} ironic.tests.unit.console.securityproxy.test_websocketproxy.IronicProxyRequestHandlerTestCase.test_new_websocket_client [0.139333s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_116_nodes_vifs_get_reader [0.133431s] ... 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-abe67538-0937-4bcc-b371-d9af220718ce
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_155_third_party_admin_cannot_put_secure_boot_state_change [0.139406s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PUT /v1/nodes/54730a0c-261b-40bb-9366-f447268e55e6/states/secure_boot WITH {'target': 'true'} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-233f0800-d701-4831-b75d-367a241525c0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 54730a0c-261b-40bb-9366-f447268e55e6 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.console.securityproxy.test_websocketproxy.IronicProxyRequestHandlerTestCase.test_new_websocket_client_http_forwarded_proto_https [0.145333s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_117_nodes_vifs_get_service [0.139913s] ... 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-b58ecc96-4b31-4090-aac5-1fc579a97801
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_156_owner_admin_can_change_provision_state [0.130741s] ... 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-db9ab589-0cdd-476e-b413-afd196863156
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.console.securityproxy.test_websocketproxy.IronicProxyRequestHandlerTestCase.test_new_websocket_client_ipv6_url [0.143281s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_118_nodes_vifs_post_admin [0.142097s] ... 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-2c962c4a-4098-4268-a9fb-56c1846e074c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_retries [0.849277s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_157_owner_manager_can_change_provision_state [0.142250s] ... 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-e66a3ac9-6793-4202-982e-0b9dd897e533
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.138068s] ... 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-fad5468f-20fe-4ce8-811d-cd988a513de4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_158_owner_member_can_change_provision_state [0.128632s] ... 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-0a9222cc-0e0a-4d14-b35d-fe0c0ada8b62
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_120_nodes_vifs_post_reader [0.136456s] ... 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-b32963aa-9fd2-4296-8e41-4e7c11df4fe6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_159_lessee_admin_can_change_provision_state [0.135402s] ... 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-9a701080-a18a-490a-8550-bb844ddb9784
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.console.securityproxy.test_websocketproxy.IronicProxyRequestHandlerTestCase.test_new_websocket_client_novnc_allowed_origin_header [0.431578s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_121_nodes_vifs_post_service [0.152149s] ... 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-cc6ce846-d5e6-46a7-adc6-42632334eee3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.console.securityproxy.test_websocketproxy.IronicProxyRequestHandlerTestCase.test_new_websocket_client_novnc_bad_origin_header [0.062704s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_160_lessee_manager_can_change_provision_state [0.135817s] ... 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-723339ca-926c-446a-8140-68e71ece06ea
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.console.securityproxy.test_websocketproxy.IronicProxyRequestHandlerTestCase.test_new_websocket_client_novnc_blank_origin_header [0.062993s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_122_nodes_vifs_post_service_project [0.139750s] ... 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-b7d246bc-b9ac-40ac-84f1-1064f04b70b2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.console.securityproxy.test_websocketproxy.IronicProxyRequestHandlerTestCase.test_new_websocket_client_novnc_no_origin_header [0.064775s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_161_lessee_member_cannot_change_provision_state [0.146812s] ... 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-46a7880c-0e5d-4c07-b079-647a33a6fa41
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_provision_state\", \"debuginfo\": null}"}
{2} ironic.tests.unit.console.securityproxy.test_websocketproxy.IronicProxyRequestHandlerTestCase.test_new_websocket_client_token_invalid [0.065159s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_123_nodes_vifs_node_vif_ident_delete_admin [0.131384s] ... 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-73c156e3-1b96-42be-bfcf-ebd1bd58db1d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.console.securityproxy.test_websocketproxy.IronicProxyRequestHandlerTestCase.test_non_default_ssl_min_version_is_set [0.127050s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_162_third_party_admin_cannot_change_provision_state [0.139556s] ... 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-8a70c4a7-4795-4d68-a027-cc1fdb63f1ba
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_124_nodes_vifs_node_vif_ident_delete_member [0.146586s] ... 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-ec3006cd-f576-41ea-9375-a9bff2a2f70c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_163_service_can_change_provision_state_for_own_nodes [0.143184s] ... 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-94966412-fae7-4db1-8dc3-2505174fc011
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.console.securityproxy.test_websocketproxy.IronicProxyRequestHandlerTestCase.test_reject_open_redirect [0.153374s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_125_nodes_vifs_node_vif_ident_delete_reader [0.134143s] ... 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-ef064765-1f22-434f-a829-f094e4c15091
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:detach\", \"debuginfo\": null}"}
{2} ironic.tests.unit.console.securityproxy.test_websocketproxy.IronicProxyRequestHandlerTestCase.test_reject_open_redirect_3_slashes [0.142423s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_126_nodes_vifs_node_vif_ident_delete_service [0.138701s] ... 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-b2d62260-1bff-487f-a82b-709668e60bc1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.console.securityproxy.test_websocketproxy.IronicProxyRequestHandlerTestCase.test_ssl_min_version_is_not_set [0.130120s] ... ok
{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.console.securityproxy.test_websocketproxy.IronicProxyRequestHandlerTestCase.test_ssl_min_version_not_set_by_default [0.125975s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_128_nodes_management_indicators_component_get_allow ... SKIPPED: Not implemented yet
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_164_service_cannot_change_provision_state [0.458355s] ... 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-e0a51915-c268-4836-a787-c9c328576330
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_129_nodes_management_indicators_component_ind_ident_get_allow ... SKIPPED: Not implemented yet
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_165_owner_member_can_set_provision_state_clean [0.140371s] ... 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-a32a9a2e-1e27-4654-853f-01f80fb91be8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_130_nodes_management_indicators_component_ind_ident_put_allow ... SKIPPED: Not implemented yet
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_166_owner_reader_cannot_set_provision_state_clean [0.127343s] ... 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-4d23d1f4-86d4-4ef7-9618-891aba04a737
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_provision_state\", \"debuginfo\": null}"}
{2} ironic.tests.unit.db.sqlalchemy.test_migrations.ModelsMigrationsSyncMysql.test_models_sync ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_131_portgroups_get_admin [0.123016s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-8214f6c8-969b-4b05-8ba0-b2fa8a5c01e0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.api.test_acl.TestRBACProjectScoped.test_project_scoped_167_lessee_admin_can_set_provision_state_clean [0.138453s] ... 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-7d513eb2-1a0c-43e1-9f65-84f4c2771d3b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_132_portgroups_get_member [0.125691s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-aae8ec0d-449a-4077-93a6-2b6f4092a2ce
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.db.test_nodes.DbNodeTestCase.test_update_node_retries_without_log_mock [1.768984s] ... ok
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_uuid [0.052820s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_168_lessee_member_cannot_set_provision_state_clean [0.129202s] ... 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-423aa1be-408d-494f-9948-51bcd4c5739c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_provision_state\", \"debuginfo\": null}"}
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_with_tags [0.065848s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_133_portgroups_get_reader [0.144805s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-1cd41867-4d97-40ff-94ae-cfbfd4b7e178
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.db.test_nodes.DbNodeTestCase.test_update_node_with_traits [0.064996s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_169_owner_member_can_set_provision_state_service [0.149571s] ... 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-66b4b209-325c-4c54-a705-beb819e853b1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}"}
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_connector_get_destroyed_after_destroying_a_node [0.069113s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_134_portgroups_post_admin [0.152699s] ... 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/b712678a-7520-4a56-beff-e2468f5371cc
Openstack-Request-Id: req-96977c64-f633-4164-93ff-41cf9ce05e5f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "b712678a-7520-4a56-beff-e2468f5371cc", "created_at": "2025-05-30T17:28:14.091071+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/b712678a-7520-4a56-beff-e2468f5371cc", "rel": "self"}, {"href": "http://localhost/portgroups/b712678a-7520-4a56-beff-e2468f5371cc", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/b712678a-7520-4a56-beff-e2468f5371cc/ports", "rel": "self"}, {"href": "http://localhost/portgroups/b712678a-7520-4a56-beff-e2468f5371cc/ports", "rel": "bookmark"}]}
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_connector_get_destroyed_after_destroying_a_node_uuid [0.060791s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_170_owner_reader_cannot_set_provision_state_service [0.136246s] ... 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-9a8293c8-e407-42ef-a184-61c0a9cdb771
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_provision_state\", \"debuginfo\": null}"}
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_target_gets_destroyed_after_destroying_a_node [0.070365s] ... ok
{2} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions [0.555748s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_135_portgroups_post_member [0.147767s] ... 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-62a487fc-cece-4905-959e-cd155cd8dacb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"}
{0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_target_gets_destroyed_after_destroying_a_node_uuid [0.068742s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_171_lessee_admin_can_set_provision_state_service [0.142224s] ... 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-d0713ecc-fb7a-434c-bbd0-c553e39a185f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test__ansible_deploy [0.103084s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.137707s] ... 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-2acc12e7-002f-424f-afb0-9f6525d14258
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_172_lessee_member_cannot_set_provision_state_service [0.138399s] ... 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-2866259f-d59d-4672-8784-320accd39ca1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_provision_state\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test__ansible_deploy_iwdi [0.102086s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.128291s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups/detail WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-6a1f97ca-a119-4819-abe7-cedc11deca6a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:28:14.478103+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.ansible.test_deploy.TestAnsibleDeploy.test_clean_up [0.086803s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_173_owner_admin_can_set_raid_config [0.146468s] ... 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-d1fe4905-dbe1-478d-9e69-a7002cefd39e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_138_portgroups_detail_get_member [0.144969s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups/detail WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-ec1f1d3c-dc57-45bd-a518-8fa14ccb5bae
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:28:14.603585+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.db.test_api.UpgradingTestCase.test_check_versions_conductor [0.447072s] ... ok
{0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_deploy [0.092641s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_conductor_old [0.069377s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_174_owner_manager_can_set_raid_config [0.132698s] ... 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-1065cf7b-65ef-4f69-9f32-4a3b8f15fd24
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_139_portgroups_detail_get_reader [0.120198s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups/detail WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-996fab04-959b-4f1d-8a19-5e8344040f23
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:28:14.746749+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.ansible.test_deploy.TestAnsibleDeploy.test_execute_clean_step [0.106679s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.068244s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-61e2720a-3512-4537-b1be-c27fc3eec472
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:28:14.831996+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.ansible.test_deploy.TestAnsibleDeploy.test_execute_clean_step_no_success_log [0.100997s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.067301s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-5b6f67f7-4def-44c0-a7d0-d838f1603189
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:28:14.900188+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.api.test_acl.TestRBACProjectScoped.test_project_scoped_175_lessee_admin_cannot_set_raid_config [0.180774s] ... 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-d78d6473-b9c2-44d8-a296-640353c9d5b6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_raid_state\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_142_portgroups_portgroup_ident_get_reader [0.067909s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-292b38e7-a4bf-45f7-b268-a3e65a229c0a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:28:14.968601+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.ansible.test_deploy.TestAnsibleDeploy.test_get_clean_steps [0.078593s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_clean_steps_priority [0.080269s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_176_lessee_manager_cannot_set_raid_config [0.149904s] ... 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-019a830e-afe7-45aa-b916-b9b4299aaebf
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_raid_state\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_properties [0.046743s] ... ok
{2} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_emptyDB [0.398422s] ... ok
{2} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_handles_missing_table [0.053134s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_143_portgroups_portgroup_ident_patch_admin [0.228994s] ... 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-7ea539fa-4268-4151-a13c-ad87fa5ddbc1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_177_owner_member_can_set_raid_config [0.145978s] ... 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-8765d577-6602-4a7c-a6d4-cab76d2e9faa
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare [0.106815s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_144_portgroups_portgroup_ident_patch_member [0.072323s] ... 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-f3c915ee-5dab-4954-82c7-6837e0c2e537
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning [0.096317s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_178_service_owner_can_set_raid_config [0.147956s] ... 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-788e70b5-0494-46dd-95af-110c2ed1c0d4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_145_portgroups_portgroup_ident_patch_reader [0.120434s] ... 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-6207261f-6779-4647-a4ea-61edd6f0264f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning_callback_no_steps [0.085877s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_179_lessee_member_cannot_set_raid_config [0.151618s] ... 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-2f26a635-4e5b-4b7e-b6c8-bba9020f8918
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_raid_state\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning_with_smartnic_port [0.098907s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_146_portgroups_portgroup_ident_delete_admin [0.146599s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-f587281d-e69f-455f-9c8a-67c235fbee8d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_ignore_node [0.355679s] ... ok
{2} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_missing_version_columns [0.041232s] ... ok
{0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_with_smartnic_port [0.111459s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_180_third_party_admin_cannot_set_raid_config [0.152609s] ... 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-6f0dff1c-87e6-408e-bc36-2ef040a84844
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_147_portgroups_portgroup_ident_delete_member [0.134349s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-7b3f6a1e-49df-4bf4-8a11-c9ef31b4f585
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down [0.081728s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_148_portgroups_portgroup_ident_delete_reader [0.138213s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-ab2f13cb-ea8a-4b96-b711-8518a955ba65
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_181_service_cannot_set_raid_config [0.151990s] ... 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-8092446d-1451-41e4-85e1-1db7ef17833a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_agent_force_reboot [0.112314s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_agent_soft_poweroff_retry [0.102078s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_182_owner_admin_can_get_console [0.147433s] ... 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-1c2b2333-3ba2-4a9f-97d6-69c2f6c12504
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_149_nodes_portgroups_get_admin [0.158854s] ... 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-32bca3c7-2309-401f-ad43-204d207c1959
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_cleaning [0.087397s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_no_version [0.445881s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_183_owner_manager_can_get_console [0.146165s] ... 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-a8619f28-35aa-4151-a325-fa753f835378
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_cleaning_with_smartnic_port [0.083229s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_150_nodes_portgroups_get_member [0.144567s] ... 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-3963c8fc-7bfb-4767-a17b-02deab0d250c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_validate [0.080998s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.177102s] ... ok
{2} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_raises_missing_table [0.024816s] ... ok
{2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_create_chassis_already_exists [0.022192s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_184_owner_service_can_get_console [0.155925s] ... 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-8e766c14-345f-463b-89ac-5f61f36181c9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_151_nodes_portgroups_get_reader [0.146312s] ... 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-c27588b7-0ded-4a47-b9fe-83be5501736b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.db.test_chassis.DbChassisTestCase.test_destroy_chassis [0.031121s] ... ok
{2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis_that_does_not_exist [0.025044s] ... ok
{2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis_with_nodes [0.024893s] ... ok
{2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_by_id [0.042084s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_185_lessee_admin_cannot_get_console [0.154874s] ... 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-865cc592-888c-4b57-aed7-d575d45a2873
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_152_nodes_portgroups_get_service [0.142503s] ... 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-4ea9c739-c66e-471a-ad34-b5fac7866729
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.db.test_chassis.DbChassisTestCase.test_get_chassis_by_uuid [0.044856s] ... ok
{2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_list [0.054614s] ... ok
{2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_that_does_not_exist [0.034663s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_186_lessee_manager_cannot_get_console [0.156964s] ... 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-366257e4-f543-4a14-b0ac-2cd8110c2609
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_153_nodes_portgroups_get_service_project [0.142974s] ... 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-18543f1b-a811-45d1-853d-7eaf3095374a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.db.test_chassis.DbChassisTestCase.test_update_chassis [0.051393s] ... ok
{2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis_that_does_not_exist [0.056312s] ... ok
{0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_write_image [0.466978s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_update_chassis_uuid [0.048195s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_154_nodes_portgroups_get_service_project_disabled [0.132211s] ... 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-2e09be6b-f555-4304-97eb-5eac622a9b17
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_187_owner_member_can_get_console [0.154814s] ... 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-b0b8dcbb-8e01-4cf7-b0a4-03805a360cd8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_mac_address_with_ethernet_interfaces [0.078812s] ... ok
{2} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_destroy_node_history_by_uuid [0.052069s] ... ok
{2} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_id [0.050935s] ... ok
{0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_mac_address_without_ethernet_interfaces [0.082618s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_155_nodes_portgroups_detail_get_admin [0.115957s] ... 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-f2070e1f-b329-4f5c-aa86-2da4087b3235
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:28:16.838412+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.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_id_not_found [0.048306s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_188_lessee_member_cannot_get_console [0.151051s] ... 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-203b0218-5bc9-4d2e-b228-93db76a4b248
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_156_nodes_portgroups_detail_get_member [0.072721s] ... 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-08a6be02-22cf-4d36-8c36-619902d98337
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:28:16.912850+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.drac.test_inspect.DracRedfishInspectionTestCase.test__get_pxe_port_macs_with_BIOS_boot_mode [0.079888s] ... ok
{2} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_node_id [0.060433s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_157_nodes_portgroups_detail_get_reader [0.071484s] ... 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-b8555d2a-0383-4e65-853d-a821de655871
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:28:16.987781+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.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_node_id_empty [0.042596s] ... ok
{0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_pxe_port_macs_with_UEFI_boot_mode [0.081621s] ... ok
{2} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_uuid [0.052487s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_189_owner_reader_cannot_get_console [0.147850s] ... 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-0765cf59-bece-4b34-8a97-8b49c2523bf6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_158_nodes_portgroups_detail_get_service [0.073659s] ... 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-15a4ea18-00dc-4446-b2cb-b2754e3bea99
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:28:17.059173+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.drac.test_inspect.DracRedfishInspectionTestCase.test__get_pxe_port_macs_without_boot_mode [0.074218s] ... ok
{2} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_uuid_not_found [0.051886s] ... ok
{0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test_get_properties [0.052760s] ... ok
{2} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_node_history_list [0.040799s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_159_nodes_portgroups_detail_get_service_project [0.095989s] ... 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-1d6f8fbd-b214-4467-a65f-4cf48a41d4f4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-30T17:28:17.133896+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.db.test_node_history.DBNodeHistoryTestCase.test_get_node_history_list_sorted [0.031479s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_190_lessee_reader_cannot_get_console [0.143834s] ... 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-ef778621-77f3-4c62-bd75-2a887133c96d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"}
{2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_duplicated_address [0.027334s] ... ok
{0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test_inspect_hardware_with_ethernet_interfaces_mac [0.070123s] ... ok
{2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_duplicated_uuid [0.027098s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list [0.050989s] ... ok
{2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_with_description [0.033164s] ... ok
{2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_destroy_port [0.030858s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_160_nodes_portgroups_detail_get_service_project_disabled [0.142243s] ... 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-87506e8c-fc81-485e-8f55-cdd97eff4b97
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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__get_certificate_file_list_empty [0.057775s] ... ok
{2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address [0.032439s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_191_third_party_admin_cannot_get_console [0.159321s] ... 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-cf2c5915-901a-4aca-a228-7afc2592fd74
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_owner [0.030180s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_empty_no_path [0.051806s] ... ok
{2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_owner_no_match [0.026185s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_none [0.044602s] ... ok
{2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_project [0.029683s] ... ok
{2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_project_no_match [0.027102s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_161_ports_get_admin [0.135954s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-8777409b-1251-4f5e-b04e-4820d4ac2629
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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__get_certificate_file_list_string_type [0.055324s] ... ok
{2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_id [0.028509s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_192_owner_admin_can_set_console [0.145521s] ... 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-6ea2814b-0a75-4e0f-9ea0-4a7bbaa583d4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_name [0.028600s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_floppy_image_name [0.049223s] ... ok
{2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_uuid [0.028793s] ... ok
{2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list [0.032804s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_162_ports_get_service [0.140935s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-e6423f08-fe6a-40b7-b354-e53eba330e74
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.db.test_ports.DbPortTestCase.test_get_port_list_filter_by_conductor_groups [0.042509s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__prepare_floppy_image [0.109113s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_ports.DbPortTestCase.test_get_port_list_filter_by_node_owner [0.034196s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_193_owner_manager_can_set_console [0.145914s] ... 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-a51c835d-2afb-440d-9662-3dfb6a799467
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_filter_by_node_project [0.038547s] ... ok
{2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_sorted [0.033314s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__prepare_floppy_image_use_webserver [0.093429s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.136213s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-9cd3f100-077a-44c3-924b-f17f605dac63
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.db.test_ports.DbPortTestCase.test_get_ports_by_node_id [0.031548s] ... ok
{2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_owner [0.029745s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_194_lessee_admin_cannot_set_console [0.143147s] ... 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-ba4efad6-d7fa-45e7-817e-a8eb00cba40e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"}
{2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_owner_no_match [0.026936s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_None [0.094807s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_project [0.031190s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_164_ports_get_service_project_disabled [0.133367s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-9b38b42f-21e6-4c2f-883d-7d15fb2f7774
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": []}
{2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_project_no_match [0.026364s] ... ok
{2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_that_does_not_exist [0.025871s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_false [0.093513s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_ports.DbPortTestCase.test_get_ports_by_portgroup_id [0.028567s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_195_lessee_manager_cannot_set_console [0.148815s] ... 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-03ef4c0d-984d-4fc8-b193-7596a647d134
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"}
{2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_owner [0.030100s] ... ok
{2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_owner_no_match [0.026779s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_invalid [0.088101s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.138156s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-cdf0a429-6b9b-4ca6-83e6-5b4d11bb079a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_project [0.029208s] ... ok
{2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_project_no_match [0.029444s] ... ok
{2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_that_does_not_exist [0.026174s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_raises_ilo_error [0.089816s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_196_owner_member_can_set_console [0.146659s] ... 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-8fb0f9d5-0fb5-46c5-b0a0-396fa3afd7fb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_shard_no_match [0.027624s] ... ok
{2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_shard_with_match_multi [0.037131s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_166_ports_get_reader [0.123632s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-a18edd29-3405-4c8e-9553-f485eb4a828e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.db.test_ports.DbPortTestCase.test_get_ports_by_shard_with_match_single [0.031177s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_true [0.088610s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_ports.DbPortTestCase.test_update_port [0.030213s] ... ok
{2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port_duplicated_address [0.029807s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_197_lessee_member_cannot_set_console [0.143298s] ... 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-d551eb16-217c-4cb7-96f5-25851f9c51d7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"}
{2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port_uuid [0.031533s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_true_default [0.085763s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.135370s] ... 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-31d118c2-1289-4c20-b980-2694f33e4aeb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 68a552fb-dcd2-43bf-9302-e4c93287be16 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target [0.045190s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_attach_vmedia [0.053869s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_attach_vmedia_fails [0.061058s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_198_owner_service_can_set_console [0.143967s] ... 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-73b70623-d541-4f55-bfeb-982356f7417a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_168_ports_post_member [0.151482s] ... 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-bd802c9d-a08c-4ad8-875c-c66b63d8f075
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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 [0.094906s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_volume_targets.DbVolumeTargetTestCase.test_create_volume_target_duplicated_nodeid_and_bootindex [0.259771s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_exc [0.094274s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.137157s] ... 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-9f5c8759-bbd6-4086-9703-62c7a99b0121
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"}
{2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target_duplicated_uuid [0.025009s] ... ok
{2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_destroy_volume_target [0.027103s] ... ok
{2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_by_id [0.027864s] ... ok
{2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_by_uuid [0.026633s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_exc_resource_not_found [0.095876s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_list [0.030007s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_170_ports_detail_get_admin [0.131466s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports/detail WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-de3bb5c4-e4a8-4bdc-afa6-ef7c014865c0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:28:18.679415+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.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_list_sorted [0.029996s] ... ok
{2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_node_id [0.027372s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_for_webserver [0.088504s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_node_id_that_does_not_exist [0.041030s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_171_ports_detail_get_member [0.128687s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports/detail WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-939259be-7744-4792-9993-ac4fbe9f0d83
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:28:18.818756+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 [0.088352s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_volume_id [0.049618s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_199_service_cannot_set_console [0.478038s] ... 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-cc40a213-c51d-45ee-8434-61563db35747
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_volume_id_that_does_not_exist [0.048292s] ... ok
{2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target [0.028941s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_clear_certificates_default [0.085930s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_duplicated_nodeid_and_bootindex [0.026857s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_172_ports_detail_get_reader [0.128068s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports/detail WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-eb4f0bc7-4341-469a-815c-819f669d1ee5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:28:18.956726+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.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_fails_invalid_id [0.025828s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_200_owner_admin_cannot_get_vendor_passthru_methods [0.143584s] ... 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-4fd9257b-7ab9-4b5b-b3f2-26672c6e4043
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"}
{2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_uuid [0.027555s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_clear_certificates_raises_ilo_error [0.096624s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.CompareBasetoModules.test_drivers_match_dhcp_base [0.020162s] ... ok
{2} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_cd [0.050200s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_copy_image_to_swift [0.070014s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_173_ports_port_id_get_admin [0.144451s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-84b6ede9-67cb-4453-bc35-e377ded877aa
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:28:19.104192+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.drac.test_boot.DracBootTestCase.test__set_boot_device_disk [0.048068s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_201_owner_manager_cannot_get_vendor_passthru_methods [0.145245s] ... 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-79134400-da79-46af-83d8-5bde17e7bc3d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_copy_image_to_swift_throws_error_if_swift_operation_fails [0.066568s] ... ok
{2} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_floppy [0.042102s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_boot.DracBootTestCase.test__set_boot_device_persistent [0.043334s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_copy_image_to_web_server [0.055619s] ... ok
{2} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test_validate_correct_vendor [0.034908s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_174_ports_port_id_get_member [0.135860s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-1bf8e827-4203-4293-95b7-e05824b961c8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:28:19.247452+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.drac.test_raid.DracRedfishRAIDTestCase.test__change_physical_disk_state_attribute_error [0.026064s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_202_owner_service_cannot_get_vendor_passthru_methods [0.148114s] ... 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-30aeec15-0764-45d1-84be-bea085f7b363
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_copy_image_to_web_server_fails [0.065848s] ... ok
{2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__check_raid_tasks_status [0.050791s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_destroy_floppy_image_from_web_server [0.076782s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_raid.DracRedfishRAIDTestCase.test__check_raid_tasks_status_convert_controller [0.062051s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.134245s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-76d238bc-305d-4dbe-8aa9-cc82a50224df
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:28:19.389401+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.api.test_acl.TestRBACProjectScoped.test_project_scoped_203_owner_member_cannot_get_vendor_passthru_methods [0.151620s] ... 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-52919f0c-8b34-493e-8b79-752944f677ca
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__check_raid_tasks_status_task_failed [0.051872s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_download_file_url [0.089373s] ... ok
{2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__check_raid_tasks_status_task_still_processing [0.052787s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_download_http_url [0.074220s] ... ok
{2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__clear_foreign_config_attribute_error [0.027435s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_204_owner_reader_cannot_get_vendor_passthru_methods [0.137087s] ... 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-f11657a0-0a31-4478-87f6-0cb35b8c7219
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__convert_controller_to_raid_mode [0.052328s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.184709s] ... 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-856c767b-aac6-430e-a458-6802ff3a9595
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_eject_vmedia_devices [0.089300s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_raid.DracRedfishRAIDTestCase.test__convert_controller_to_raid_mode_no_conversion [0.041931s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_raid.DracRedfishRAIDTestCase.test__convert_controller_to_raid_mode_not_raid [0.039587s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.087727s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_raid.DracRedfishRAIDTestCase.test__convert_controller_to_raid_mode_old_idrac [0.041643s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_205_lessee_admin_cannot_get_vendor_passthru_methods [0.145581s] ... 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-e3a12602-8460-41c2-8164-e24474a02739
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__convert_controller_to_raid_mode_old_sushy [0.042201s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_current_boot_mode [0.061548s] ... ok
{2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__convert_controller_to_raid_mode_old_sushy_oem [0.038767s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_current_boot_mode_fail [0.045409s] ... ok
{2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__get_storage_controller_invalid_identity [0.026370s] ... ok
{2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__is_realtime_ready [0.031258s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_206_lessee_manager_cannot_get_vendor_passthru_methods [0.148618s] ... 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-438780e4-5d8f-4770-89ad-7effe5ecadba
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_ilo_object_cafile [0.067697s] ... ok
{2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__query_raid_tasks_status [0.031128s] ... ok
{2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__query_raid_tasks_status_no_task_monitor_url [0.032363s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_cafile_boolean [0.049462s] ... ok
{2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__retry_till_realtime_ready [0.025506s] ... ok
{2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__retry_till_realtime_ready_retry_exceeded [0.024342s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_snmp [0.061643s] ... ok
{2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__retry_till_realtime_ready_retry_fails [0.025012s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_207_lessee_member_cannot_get_vendor_passthru_methods [0.142346s] ... 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-87e73400-2079-44b9-b343-ac95dc0c6ca4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__set_failed_clean [0.045548s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_raid.DracRedfishRAIDTestCase.test__set_failed_deploy [0.044190s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.503955s] ... 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-2459de2f-14eb-4a2f-8a59-6dba612752bd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__set_success_clean [0.044128s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_208_lessee_reader_cannot_get_vendor_passthru_methods [0.149413s] ... 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-328c9ab9-545f-41d7-95ed-5d0a612c02d2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__set_success_deploy [0.043496s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_raid.DracRedfishRAIDTestCase.test__wait_till_realtime_ready [0.027500s] ... ok
{2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__wait_till_realtime_ready_retryerror [0.030975s] ... ok
{2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_create_configuration [0.025733s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_178_ports_port_id_patch_reader [0.155958s] ... 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-4c9539f3-b4bc-4e12-aeb6-6a453e3b95cf
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_delete_configuration [0.025558s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_209_owner_admin_cannot_get_vendor_passthru [0.140988s] ... 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-2783cd89-6b93-424d-b4d7-ee6ab05c4c7b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_post_delete_configuration_foreign_async [0.042489s] ... ok
{2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_post_delete_configuration_foreign_sync [0.026434s] ... ok
{2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_post_delete_configuration_no_subtasks [0.025832s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_179_ports_port_id_delete_admin [0.135880s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-9730a107-da76-4023-b620-8f9a6ea24ea0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode [0.436002s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_210_owner_manager_cannot_get_vendor_passthru [0.154571s] ... 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-fceffee6-d708-4fa5-bdd4-4c9a3aac73d3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_180_ports_port_id_delete_member [0.068566s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-88381ab5-0c57-4115-8c04-27a20eaff028
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_get_secure_boot_mode_bios [0.081562s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.067285s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-d10d87e2-0e0b-4a1a-8da9-f13e9767b305
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_211_owner_service_cannot_get_vendor_passthru [0.135809s] ... 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-10b7cb31-84d3-4bc8-858e-3ec9fdc181e6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_secure_boot_mode_fail [0.091792s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.071212s] ... 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-d44ced19-5e09-4282-81ba-a22fda39b0b8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_get_secure_boot_mode_not_supported [0.084980s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.075104s] ... 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-c5a25fa3-8dbe-497e-aff5-22b473c97efb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drac.test_raid.DracRedfishRAIDTestCase.test_pre_create_configuration [0.355172s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_184_nodes_ports_get_reader [0.072779s] ... 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-75e27e4b-557b-4b7b-a379-15930a77abd7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.test_acl.TestRBACProjectScoped.test_project_scoped_212_owner_member_cannot_get_vendor_passthru [0.174229s] ... 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-1d353211-cc39-46a5-84f3-563eb87e9ac6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_server_post_state [0.087308s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_raid.DracRedfishRAIDTestCase.test_validate_correct_vendor [0.052117s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_185_nodes_ports_detail_get_admin [0.072209s] ... 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-51a7995e-301e-4368-9f4f-78c9cafbe4ff
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:28:20.859951+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_server_post_state_fail [0.076087s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloBootPrivateMethodsTestCase.test__disable_secure_boot_exception [0.091078s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.040071s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_remove_image_from_swift [0.030590s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_213_owner_reader_cannot_get_vendor_passthru [0.188096s] ... 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-30accbab-ee5c-4ae6-91a1-768755be6593
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_remove_image_from_swift_suppresses_notfound_exc [0.038655s] ... ok
{2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_false [0.085481s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.144631s] ... 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-b3b8a920-e276-4151-8f9a-2d4dc77e2793
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:28:20.959203+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_remove_image_from_swift_suppresses_operror_exc [0.038065s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_web_server [0.042654s] ... ok
{2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_true [0.089041s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_remove_single_or_list_of_files_with_file_list [0.030689s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_single_or_list_of_files_with_file_str [0.026519s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_214_lessee_admin_cannot_get_vendor_passthru [0.166614s] ... 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-49cdcc75-5114-45b3-9eb0-514c67354589
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_set_boot_mode [0.026976s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_187_nodes_ports_detail_get_reader [0.152932s] ... 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-de6aad32-7023-4938-b73c-e5496db84cec
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-30T17:28:21.126185+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.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_create [0.081748s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_set_boot_mode_with_IloOperationError [0.030442s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode_without_set_pending_boot_mode [0.026637s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode [0.040556s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloBootPrivateMethodsTestCase.test__get_boot_iso_glance_image [0.105456s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_set_secure_boot_mode_fail [0.042803s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_set_secure_boot_mode_not_supported [0.041358s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_215_lessee_manager_cannot_get_vendor_passthru [0.186425s] ... 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-3fef6cf1-19f7-4e56-97a5-46b26eab713d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_188_portgroups_ports_get_admin [0.166026s] ... 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-2548e519-2750-4342-9612-4b7841a9deb7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": []}
{0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_persistent_false [0.043454s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloBootPrivateMethodsTestCase.test__get_boot_iso_http_url [0.105551s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_persistent_true [0.045244s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_ilo_error [0.045432s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_216_lessee_member_cannot_get_vendor_passthru [0.159316s] ... 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-3ce5782d-0dac-411f-8c02-14af768f3e2a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_189_portgroups_ports_get_member [0.160051s] ... 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-0d967d98-8236-4696-9e60-708e2b893520
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": []}
{0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_raises_not_supported [0.046511s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloBootPrivateMethodsTestCase.test__get_boot_iso_swift_image [0.117484s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_scheme_http [0.046145s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloBootPrivateMethodsTestCase.test__parse_deploy_info [0.048265s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia [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(
{0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_parameters [0.044312s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloBootPrivateMethodsTestCase.test__validate_driver_info [0.100547s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.158704s] ... 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-2806702f-ba9c-4e66-8442-ff97e8cc7b7e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": []}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_217_lessee_reader_cannot_get_vendor_passthru [0.185372s] ... 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-3eb8046a-bc8e-451b-9d8e-cd5e11163642
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_setup_vmedia_for_boot_with_swift [0.065978s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloBootPrivateMethodsTestCase.test__validate_instance_image_info [0.091642s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_for_boot_with_url [0.088965s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.166019s] ... 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-18c52b09-2dc3-495a-8252-c4c4de52f505
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": []}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_218_owner_admin_cannot_post_vendor_passthru [0.167321s] ... 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-9431716e-1c08-4741-8131-914a7d4e4432
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy [0.096897s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.093003s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_inst_info [0.089089s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.157474s] ... 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-bccfd4ce-d4b0-4f99-902e-827f78371313
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": []}
{0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode [0.096043s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_219_owner_manager_cannot_post_vendor_passthru [0.181597s] ... 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-20cb0729-fda3-4dec-95c4-904efd2ea4fb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_sec_boot_on [0.096693s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_capabilities_exist [0.085133s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_sec_boot_on_inst_info [0.086345s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.152333s] ... 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-229bee45-43b3-44c8-9758-5b0f2e6e29e7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": []}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_220_owner_service_cannot_post_vendor_passthru [0.122035s] ... 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-656da767-85e3-457c-a019-f77186ade37d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_update_boot_mode_instance_info_exists [0.095511s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloVirtualMediaBootTestCase.test__configure_vmedia_boot_with_boot_iso [0.095434s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_221_owner_member_cannot_post_vendor_passthru [0.076027s] ... 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-d122f650-0534-41ad-9ad4-b9905e17ba79
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_update_boot_mode_legacy [0.095430s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.128547s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-14fdf6bd-22af-4f03-9b67-bf2d9399b4a6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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"}]}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_222_owner_reader_cannot_post_vendor_passthru [0.081156s] ... 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-b70b0d68-c9ea-4de7-bbe5-6965596a68bd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_boot_from_volume [0.139027s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_prop_boot_mode_exist [0.111197s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.140707s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-10c74d49-b44b-4e3b-b486-fc6c7e437267
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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"}]}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_223_lessee_admin_cannot_post_vendor_passthru [0.119392s] ... 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-c1b72e3b-7034-4a3e-9f19-9813a82a1855
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.100007s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_unknown [0.129544s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.128819s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-69046f0a-a53b-4204-8ef7-cfeb4df9960f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_deleting [0.118657s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_224_lessee_manager_cannot_post_vendor_passthru [0.152853s] ... 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-4beb03b7-c636-4635-ab9b-856d05c2538b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_update_boot_mode_unknown_except [0.098742s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_225_lessee_member_cannot_post_vendor_passthru [0.076906s] ... 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-2314658c-266c-40bd-8b8e-3847241ff02e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_197_volume_get_service [0.136030s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-3cf97923-4a32-4166-8b79-b50c0d675834
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_rescuing [0.108159s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_use_def_boot_mode [0.119648s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_226_lessee_reader_cannot_post_vendor_passthru [0.079137s] ... 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-e9639769-0c87-4b5a-b00c-967b567397f2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_ramdisk [0.091495s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.133752s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-bc548e01-08cb-446c-8dbd-40f98e4db54c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_ipmi_properties [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(
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_227_owner_admin_cannot_put_vendor_passthru [0.083133s] ... 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-676bedab-35f5-42aa-a023-700e05f4d762
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_228_owner_manager_cannot_put_vendor_passthru [0.080230s] ... 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-bc1f872f-f0a4-451c-ae41-4cbf7c7ea94d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_from_volume [0.128207s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_redfish_properties [0.090329s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.143404s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-40c3a453-276b-477c-9b03-cc741c4c1392
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"connectors": [{"uuid": "b066ef0c-099f-4700-b36a-2e9bc3168b9f", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/b066ef0c-099f-4700-b36a-2e9bc3168b9f", "rel": "self"}, {"href": "http://localhost/volume/connectors/b066ef0c-099f-4700-b36a-2e9bc3168b9f", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]}
{0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_validate_security_parameter_values [0.054530s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_229_owner_service_cannot_put_vendor_passthru [0.078352s] ... 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-3ad99ea8-36bf-4890-8847-e0e8e7191e00
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_from_volume_bios [0.086105s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_validate_security_parameter_values_invalid_param [0.054003s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_230_owner_member_cannot_put_vendor_passthru [0.085464s] ... 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-9532ecc4-8114-4e6b-bfc5-dda8ebf88440
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_validate_security_parameter_values_no_param [0.055005s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_200_volume_connectors_get_member [0.138111s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-9646e065-4ab9-44bb-a315-85a3f327dbbc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"connectors": [{"uuid": "8ab9f759-2878-4e20-b492-59363b8eb99d", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/8ab9f759-2878-4e20-b492-59363b8eb99d", "rel": "self"}, {"href": "http://localhost/volume/connectors/8ab9f759-2878-4e20-b492-59363b8eb99d", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]}
{2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_ramdisk [0.113134s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_verify_image_checksum [0.048323s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_sha256 [0.028362s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_sha512 [0.029936s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_231_owner_reader_cannot_put_vendor_passthru [0.130570s] ... 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-9b9cc1d0-097e-40db-8679-999d88e8d119
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_verify_image_checksum_throws_for_failed_validation [0.027815s] ... ok
{2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_partition_image [0.107938s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_verify_image_checksum_throws_for_nonexistent_file [0.026686s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_201_volume_connectors_get_reader [0.143649s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-b1c2466c-cc2b-4783-9378-dd93663bb015
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"connectors": [{"uuid": "20f5b119-4b6b-401e-a072-9fd47a03e7a8", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/20f5b119-4b6b-401e-a072-9fd47a03e7a8", "rel": "self"}, {"href": "http://localhost/volume/connectors/20f5b119-4b6b-401e-a072-9fd47a03e7a8", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]}
{0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_file_based_fw_to_copies_file_to_target [0.026643s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_file_based_fw_to_gets_invoked_for_file_based_firmware [0.020278s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_http_based_fw_to_downloads_the_fw_file [0.027780s] ... ok
{2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image [0.103683s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_firmware_processor.FirmwareProcessorTestCase.test__download_http_based_fw_to_gets_invoked_for_http_based_firmware [0.021898s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_calls__download_http_based_fw_to [0.029126s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_232_lessee_admin_cannot_put_vendor_passthru [0.167524s] ... 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-d380ad0b-7d14-4b06-bdea-c5f995509831
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_202_volume_connectors_get_service [0.137289s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-1898150a-9fea-40db-88b1-d9f92bf8d8be
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"connectors": [{"uuid": "cbfe2b0b-e861-468d-84fd-610afa4cc3ea", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/cbfe2b0b-e861-468d-84fd-610afa4cc3ea", "rel": "self"}, {"href": "http://localhost/volume/connectors/cbfe2b0b-e861-468d-84fd-610afa4cc3ea", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]}
{2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image [0.151787s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.139226s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-6d2e4cd5-4f52-4a6d-8dcd-e87ff681328d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"connectors": [{"uuid": "314406d5-7d60-45b4-a6b1-22dfa42c2423", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/314406d5-7d60-45b4-a6b1-22dfa42c2423", "rel": "self"}, {"href": "http://localhost/volume/connectors/314406d5-7d60-45b4-a6b1-22dfa42c2423", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_233_lessee_manager_cannot_put_vendor_passthru [0.172590s] ... 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-8f26aa49-cbea-4ec3-b613-29c0221bd7cb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_creates_temp_url [0.200953s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_gets_invoked_for_swift_based_firmware [0.020412s] ... ok
{2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.139045s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_calls_process_firmware_image [0.029918s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_doesnt_upload_firmware [0.029519s] ... ok
{0} 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.028946s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_204_volume_connectors_get_service_project_disable [0.140868s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-b138d744-beca-4dcc-bb96-5d36f64da565
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"connectors": []}
{0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_sets_loc_obj_remove_to_swift [0.030334s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_234_lessee_member_cannot_put_vendor_passthru [0.184484s] ... 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-ef8a66dc-cff7-41a8-a898-14795cad2373
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_sets_loc_obj_remove_to_webserver [0.030525s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_uploads_firmware_to_swift [0.028899s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_uploads_firmware_to_webserver [0.029229s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_file_based_me [0.029110s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_205_volume_connectors_post_admin [0.145372s] ... 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/ecebf4cb-2c40-4b50-bfe8-f854b76ba886
Openstack-Request-Id: req-4b1f6e14-fc1c-4f63-93f2-886335d79c09
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "ecebf4cb-2c40-4b50-bfe8-f854b76ba886", "created_at": "2025-05-30T17:28:23.862973+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/ecebf4cb-2c40-4b50-bfe8-f854b76ba886", "rel": "self"}, {"href": "http://localhost/volume/connectors/ecebf4cb-2c40-4b50-bfe8-f854b76ba886", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
{2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_in_takeover [0.231864s] ... ok
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(
{0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_swift_based_me [0.056280s] ... ok
{2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_a_glance_image [0.063638s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_firmware_processor.FirmwareProcessorTestCase.test__remove_webserver_based_me [0.061914s] ... ok
{2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_a_glance_image_cleaning [0.072285s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.152307s] ... 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/1a0e8bf7-0446-420e-a3e2-e8e9ce2075f6
Openstack-Request-Id: req-d5d45766-8f69-41cd-82e3-603ceb03c3e5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1a0e8bf7-0446-420e-a3e2-e8e9ce2075f6", "created_at": "2025-05-30T17:28:24.020588+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/1a0e8bf7-0446-420e-a3e2-e8e9ce2075f6", "rel": "self"}, {"href": "http://localhost/volume/connectors/1a0e8bf7-0446-420e-a3e2-e8e9ce2075f6", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
{0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__validate_sum_components [0.041030s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__validate_sum_components_fails [0.049818s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_img_loc_sets_these_attributes [0.041855s] ... ok
{2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_iso [0.117231s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_firmware_processor.FirmwareProcessorTestCase.test_fw_processor_ctor_sets_parsed_url_attrib_of_fw_processor [0.041826s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_207_volume_connectors_post_reader [0.144028s] ... 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-8b71d3cf-7d00-4dd1-b2ca-1f18900e704a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_firmware_processor.FirmwareProcessorTestCase.test_fw_processor_ctor_throws_exception_with_invalid_firmware_url [0.036243s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info [0.038423s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_empty_parameter [0.042517s] ... ok
{2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_rescue_glance_image [0.148062s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_208_volume_connectors_post_service [0.153599s] ... 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/28289071-a905-4bf2-b891-9bbd7673cf5f
Openstack-Request-Id: req-7a333652-a93b-4bd0-a441-bae1e0e1f8b5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "28289071-a905-4bf2-b891-9bbd7673cf5f", "created_at": "2025-05-30T17:28:24.321188+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/28289071-a905-4bf2-b891-9bbd7673cf5f", "rel": "self"}, {"href": "http://localhost/volume/connectors/28289071-a905-4bf2-b891-9bbd7673cf5f", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
{0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_invalid_component [0.042913s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_missing_parameter [0.039875s] ... ok
{2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_rescue_not_a_glance_image [0.124168s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum [0.048809s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum_invalid_component [0.038354s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_209_volume_connectors_post_service_project [0.133268s] ... 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/fd08bc12-229e-4558-a368-2e7c5f7e9426
Openstack-Request-Id: req-9f6bd37e-315f-40ac-b883-1110d82ff5b2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "fd08bc12-229e-4558-a368-2e7c5f7e9426", "created_at": "2025-05-30T17:28:24.460258+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/fd08bc12-229e-4558-a368-2e7c5f7e9426", "rel": "self"}, {"href": "http://localhost/volume/connectors/fd08bc12-229e-4558-a368-2e7c5f7e9426", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
{0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum_with_component [0.041722s] ... ok
{2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate [0.116155s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloVirtualMediaBootTestCase.test_validate_boot_from_volume [0.082841s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_calls__download_fw_to [0.136042s] ... ok
{2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_inspection [0.074202s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_210_volume_volume_connector_id_get_admin [0.238326s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors/fe6cc5ab-a24c-49d0-b16f-26b624ac6f60 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-52a9210f-ac74-43d7-9bd3-f8068a966269
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "fe6cc5ab-a24c-49d0-b16f-26b624ac6f60", "created_at": "2025-05-30T17:28:24.508445+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/fe6cc5ab-a24c-49d0-b16f-26b624ac6f60", "rel": "self"}, {"href": "http://localhost/volume/connectors/fe6cc5ab-a24c-49d0-b16f-26b624ac6f60", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_235_lessee_reader_cannot_put_vendor_passthru [0.942376s] ... 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-e1d61f6c-e280-423b-9f8a-a66a6d15fc84
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_inspection_missing [0.072319s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_211_volume_volume_connector_id_get_member [0.066174s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors/1c94ee4e-9917-4d63-977d-5e43a56c80ea WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-3a825746-c752-448b-9de3-3dee04e82fc4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1c94ee4e-9917-4d63-977d-5e43a56c80ea", "created_at": "2025-05-30T17:28:24.744477+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1c94ee4e-9917-4d63-977d-5e43a56c80ea", "rel": "self"}, {"href": "http://localhost/volume/connectors/1c94ee4e-9917-4d63-977d-5e43a56c80ea", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
{0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_calls__extract_fw_from_file [0.140558s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_212_volume_volume_connector_id_get_reader [0.064276s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors/80950ae3-59c5-4547-bcea-1d912b7f367a WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-108f020a-6ead-4121-80bd-abf8ba775ccb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "80950ae3-59c5-4547-bcea-1d912b7f367a", "created_at": "2025-05-30T17:28:24.811405+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/80950ae3-59c5-4547-bcea-1d912b7f367a", "rel": "self"}, {"href": "http://localhost/volume/connectors/80950ae3-59c5-4547-bcea-1d912b7f367a", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
{2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_deploy_glance [0.106734s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_236_owner_admin_cannot_delete_vendor_passthru [0.159781s] ... 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-8a52f7f6-a30b-46ab-aa33-bf7be23d632a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_213_volume_volume_connector_id_patch_admin [0.077901s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/connectors/11ea49cc-eb31-422c-857b-4007c136616d WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-fda0410d-8827-4d8e-b53c-451f05b6c0f5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_throws_error_if_checksum_validation_fails [0.137604s] ... ok
{2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_deploy_webserver [0.102447s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.072703s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/connectors/07ca967d-b60f-4ecc-9709-5326cdb1ec2c WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-ca88e207-9bcd-492b-9423-b975cab095d2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_215_volume_volume_connector_id_patch_reader [0.065513s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/connectors/fc331983-bd35-490c-8caa-d939a30479ed WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-7372e35b-9481-4726-87d6-b7bf4109222d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_237_owner_manager_cannot_delete_vendor_passthru [0.175924s] ... 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-31ad82a2-c6b7-46ed-85fb-545c0ed59619
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_verifies_checksum_of_downloaded_fw_file [0.141898s] ... ok
{2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_deploy_webserver_exc [0.110067s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.073689s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/connectors/96b58245-38a6-4844-85fe-eacef3024dce WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-21d08854-d126-4b64-a53f-a78c75038529
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.063334s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/connectors/db1842a3-107c-41ee-ac37-912615888d22 GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-01475e34-05f7-4431-a66a-2c79af99fada
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_238_owner_service_cannot_delete_vendor_passthru [0.164651s] ... 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-ad87a22f-7158-4752-8ffb-c5cf59cb0d1b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_218_volume_volume_connector_id_delete_member [0.061872s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/connectors/b7d09f2a-ced7-49b8-8dda-6cf67a3c6389 GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-14c07882-7185-4bf4-a4e0-86645dd4de10
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_219_volume_volume_connector_id_delete_reader [0.063447s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/connectors/e4a2a213-f229-459d-a14b-16f7d5e8e4df GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-0b44014c-e529-4042-9727-eb88d96b1acd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_220_volume_volume_connector_id_delete_service [0.063634s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/connectors/2439e65a-9c5b-4907-a6f0-f93cb8d383f1 GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-8294db21-aed6-45dc-b9ab-535ee68e5299
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_239_owner_member_cannot_delete_vendor_passthru [0.177377s] ... 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-0e6379ae-8bac-47bc-827b-c19e658ded91
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_221_volume_targets_get_admin [0.062478s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-2f246173-2bc7-43a9-979e-8c215923af8f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"targets": [{"uuid": "9a12219b-29aa-40db-9df4-6e1451f77b7d", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/9a12219b-29aa-40db-9df4-6e1451f77b7d", "rel": "self"}, {"href": "http://localhost/volume/targets/9a12219b-29aa-40db-9df4-6e1451f77b7d", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_222_volume_targets_get_member [0.062330s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-b11caad7-82e9-4e43-8426-a70b27e1d58c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"targets": [{"uuid": "075ea8c2-3f00-4ca7-9178-cff3d5daaeae", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/075ea8c2-3f00-4ca7-9178-cff3d5daaeae", "rel": "self"}, {"href": "http://localhost/volume/targets/075ea8c2-3f00-4ca7-9178-cff3d5daaeae", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]}
{2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_rescue [0.426126s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_firmware_processor.FirmwareProcessorTestCase.test_verify_firmware_update_args_throws_for_invalid_update_mode [0.462980s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_223_volume_targets_get_reader [0.063603s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-e5989437-8086-4f90-96e0-5cff5580f524
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"targets": [{"uuid": "5d4abe20-5e1c-46af-9971-46983b39c8a0", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/5d4abe20-5e1c-46af-9971-46983b39c8a0", "rel": "self"}, {"href": "http://localhost/volume/targets/5d4abe20-5e1c-46af-9971-46983b39c8a0", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]}
{0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_verify_firmware_update_args_throws_for_no_firmware_url [0.042033s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_240_owner_reader_cannot_delete_vendor_passthru [0.175390s] ... 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-75ed73eb-136e-4525-ad68-78a55833547e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_rescue_deprecated [0.095158s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.TestInspectPrivateMethods.test___create_supported_capabilities_dict [0.053192s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_224_volume_targets_get_service [0.065421s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-f6b6aeea-c264-4269-ae3a-31466113ac99
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"targets": [{"uuid": "3ec234f6-18b5-4d36-8896-ec78d956804b", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/3ec234f6-18b5-4d36-8896-ec78d956804b", "rel": "self"}, {"href": "http://localhost/volume/targets/3ec234f6-18b5-4d36-8896-ec78d956804b", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]}
{0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict_excluded_capability [0.047638s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_225_volume_targets_post_admin [0.068760s] ... 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/349ff532-8dc9-451a-be47-bf54cb013300
Openstack-Request-Id: req-50143967-99f7-4de9-b019-143c4f76a23a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "349ff532-8dc9-451a-be47-bf54cb013300", "created_at": "2025-05-30T17:28:25.702381+00:00", "updated_at": null, "boot_index": 1, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/349ff532-8dc9-451a-be47-bf54cb013300", "rel": "self"}, {"href": "http://localhost/volume/targets/349ff532-8dc9-451a-be47-bf54cb013300", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
{2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.097880s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.TestInspectPrivateMethods.test___create_supported_capabilities_dict_gpu_capabilities [0.045571s] ... ok
{2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_ca_file_and_snmp_inspection_true [0.046357s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_241_lessee_admin_cannot_delete_vendor_passthru [0.183238s] ... 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-474ddc43-7d3a-44cb-8b68-ae5603dcfdb2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_226_volume_targets_post_member [0.072947s] ... 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/90eaf79c-f970-41a8-972a-ad2ddfe8e6b0
Openstack-Request-Id: req-51c25ae7-fe00-4af2-b81d-2940028e9f2e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "90eaf79c-f970-41a8-972a-ad2ddfe8e6b0", "created_at": "2025-05-30T17:28:25.775520+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/90eaf79c-f970-41a8-972a-ad2ddfe8e6b0", "rel": "self"}, {"href": "http://localhost/volume/targets/90eaf79c-f970-41a8-972a-ad2ddfe8e6b0", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
{0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_capabilities_ok [0.058898s] ... ok
{2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_cafile [0.060912s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail [0.056032s] ... ok
{2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_multiple_params [0.058960s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail_invalid_format [0.044202s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_227_volume_targets_post_service [0.151995s] ... 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/2d7b63f8-dc90-469d-9125-ae2892bf89a3
Openstack-Request-Id: req-2d6f07fb-c6c7-474a-9dc2-65cd41bccf9b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "2d7b63f8-dc90-469d-9125-ae2892bf89a3", "created_at": "2025-05-30T17:28:25.911658+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/2d7b63f8-dc90-469d-9125-ae2892bf89a3", "rel": "self"}, {"href": "http://localhost/volume/targets/2d7b63f8-dc90-469d-9125-ae2892bf89a3", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
{2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_port [0.051096s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_242_lessee_manager_cannot_delete_vendor_passthru [0.164635s] ... 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-d87c805a-cfa1-42a4-82cb-2fc56f3526f6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail_mac_invalid_format [0.059005s] ... ok
{2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_timeout [0.054057s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_228_volume_targets_post_service_project [0.080510s] ... 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/64a045b4-5989-49d1-b8b4-8942d15142dc
Openstack-Request-Id: req-6d454ae5-8a25-42c8-8658-7fd8447bce9e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "64a045b4-5989-49d1-b8b4-8942d15142dc", "created_at": "2025-05-30T17:28:26.009300+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/64a045b4-5989-49d1-b8b4-8942d15142dc", "rel": "self"}, {"href": "http://localhost/volume/targets/64a045b4-5989-49d1-b8b4-8942d15142dc", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
{0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_hardware_port_empty [0.060711s] ... ok
{2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_value_verify_ca [0.043984s] ... ok
{2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_address [0.023594s] ... ok
{2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_multiple_params [0.024158s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_hardware_port_not_dict [0.058252s] ... ok
{2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_password [0.025141s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_243_lessee_member_cannot_delete_vendor_passthru [0.174272s] ... 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-ecb599b1-ff29-4dde-899e-d8911ebdf966
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_229_volume_targets_post_service_project_disabled [0.121500s] ... 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-0ed71366-0ff3-4f88-9531-d5d6090031c6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_username [0.026123s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_ok [0.055727s] ... ok
{2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_path_verify_ca_dir [0.025669s] ... ok
{2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_path_verify_ca_file [0.025673s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__validate_essential_keys_fail_missing_key [0.054106s] ... ok
{2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_inspection_false [0.025686s] ... ok
{2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_inspection_true_raises [0.039603s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__validate_ok [0.052631s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_244_lessee_reader_cannot_delete_vendor_passthru [0.178452s] ... 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-0719779b-1a3e-43c4-aaeb-25cffe10e0db
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_230_volume_targets_post_service_project_admin [0.154951s] ... 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-013b2776-908b-47af-9dbf-4534d2527d59
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_integer_auth_protocol [0.048650s] ... ok
{2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_invalid_auth_protocol [0.054172s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_clear_ca_certificates [0.116837s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_invalid_priv_protocol [0.047216s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_231_volume_targets_post_reader [0.142659s] ... 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-33e60ef7-392f-440a-a133-ff2d640393a8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_no_auth_priv_protocols [0.061409s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_245_owner_reader_get_traits [0.185526s] ... 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-9ccd02e8-fe85-4705-b49c-64583d780a9f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"traits": []}
{0} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_clear_ca_certificates_clear_flag [0.113239s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_boolean_false [0.050209s] ... ok
{2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_boolean_true [0.047583s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_clear_ca_certificates_ilo_operation_error [0.095869s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_232_volume_volume_target_id_get_admin [0.143155s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets/b18b7231-d897-4080-8439-8458e0c669b9 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-f565d2bd-4122-4af5-a20a-4dc3b05d9c06
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "b18b7231-d897-4080-8439-8458e0c669b9", "created_at": "2025-05-30T17:28:26.526036+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/b18b7231-d897-4080-8439-8458e0c669b9", "rel": "self"}, {"href": "http://localhost/volume/targets/b18b7231-d897-4080-8439-8458e0c669b9", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
{2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_default_value [0.054319s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_246_owner_reader_get_traits_service [0.188732s] ... 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-94d11ed8-c939-4f2d-b084-9622ac6709f1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"traits": []}
{2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_string_false [0.044298s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_clear_ca_certificates_ilo_operation_not_supported [0.104015s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_233_volume_volume_target_id_get_member [0.138351s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets/487d0c93-3f4e-4889-bd30-a7a60c60efe1 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-cf136bbc-8f91-44b9-b8a1-f5ba2b61b756
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "487d0c93-3f4e-4889-bd30-a7a60c60efe1", "created_at": "2025-05-30T17:28:26.679764+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/487d0c93-3f4e-4889-bd30-a7a60c60efe1", "rel": "self"}, {"href": "http://localhost/volume/targets/487d0c93-3f4e-4889-bd30-a7a60c60efe1", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
{2} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_get_properties [0.081818s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_management.Ilo5ManagementTestCase.test_erase_devices_completed [0.121347s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_247_lessee_reader_get_traits [0.168414s] ... 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-e46f1b2f-708f-4b9f-b9a0-1c87d1ecfd29
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"traits": []}
{2} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_capabilities_exist_ok [0.111492s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_234_volume_volume_target_id_get_reader [0.141782s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets/8708c83f-fb28-455a-9a53-be9410a61f5b WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-14aed589-80cc-437e-bc14-e53ad3ef4a98
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "8708c83f-fb28-455a-9a53-be9410a61f5b", "created_at": "2025-05-30T17:28:26.826404+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/8708c83f-fb28-455a-9a53-be9410a61f5b", "rel": "self"}, {"href": "http://localhost/volume/targets/8708c83f-fb28-455a-9a53-be9410a61f5b", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
{0} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd [0.120582s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_inspect.IloInspectTestCase.test_inspect_essential_capabilities_ok [0.098471s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_248_third_party_admin_cannot_get_traits [0.169104s] ... 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-0a47f8ac-198b-4edb-8632-989085f39e09
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_235_volume_volume_target_id_get_service [0.143560s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets/a54b161f-7941-4b72-97c0-1110e91cc0ea WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-26a1cbf4-8936-4198-996e-9e63b41e8a56
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "a54b161f-7941-4b72-97c0-1110e91cc0ea", "created_at": "2025-05-30T17:28:26.975192+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/a54b161f-7941-4b72-97c0-1110e91cc0ea", "rel": "self"}, {"href": "http://localhost/volume/targets/a54b161f-7941-4b72-97c0-1110e91cc0ea", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}
{0} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_ilo_error [0.110508s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_inspect.IloInspectTestCase.test_inspect_essential_ok [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(
{2} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok_local_gb_zero [0.121825s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_erase_pattern_zero [0.123679s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.158505s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/targets/5aa66a5a-3fed-4bad-9f35-92ed5d98833d WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-6cf8993e-9565-4c7f-9288-03cc43e40646
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_249_owner_admin_can_put_traits [0.197384s] ... 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-bccd06b2-c7bc-4a9e-bdfb-ddbef9a4a522
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_invalid_device_type_erase_pattern [0.064438s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_invalid_erase_pattern [0.045062s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_inspect.IloInspectTestCase.test_inspect_essential_ok_power_off [0.120508s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_invalid_format_erase_pattern [0.043550s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.166974s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/targets/2e069163-7b0c-4894-badf-c766d85fe180 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-c07c6374-f8fb-4904-b422-2ed8212ee36d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_250_owner_manager_can_put_traits [0.198163s] ... 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-a9790f92-d816-45d0-aa17-2a258c6cfb54
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_ok_gen10 [0.102678s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_management.Ilo5ManagementTestCase.test_erase_devices_ssd [0.061064s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_management.Ilo5ManagementTestCase.test_erase_devices_ssd_when_hdd_done [0.062034s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_inspect.IloInspectTestCase.test_inspect_ok_gen8 [0.095481s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_238_volume_volume_target_id_patch_reader [0.148956s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/targets/bc4d985d-9f9d-4291-84d9-72054c53914d WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-32e8e9ea-23a5-493c-8cd5-cbfcf3e51b5e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_when_no_drive_available [0.048627s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_management.Ilo5ManagementTestCase.test_one_button_secure_erase [0.054395s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_inspect.IloInspectTestCase.test_validate [0.092922s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_251_owner_service_can_put_traits [0.208314s] ... 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-69c60d08-0ef6-4dfc-9997-410e03013feb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_one_button_secure_erase_ilo_error [0.048410s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_invalid_state [0.039819s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_239_volume_volume_target_id_patch_service_disabled [0.166019s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/targets/220f288f-40a9-4be4-9d50-56bcd2d62b0d WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-fc7f387c-7605-42a0-a0bd-7764f864fd85
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.inspector.test_agent.AbortInspectionTestCase.test_cleanup_failed [0.108856s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_maintenance [0.043748s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_manage [0.039676s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_missing_boot_iso_href [0.039730s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.AbortInspectionTestCase.test_success [0.098512s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_252_owner_member_cannot_put_traits [0.204980s] ... 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-9c089687-ff4f-4e43-8606-caea5a133958
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.TestRBACScopedRequests.test_system_scoped_240_volume_volume_target_id_patch_service [0.159751s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/targets/37b741ed-0c3a-425e-9529-51f8cab37830 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-cbfd2595-0900-4429-8376-b6dbaf3ad618
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_is_it_a_supported_system [0.044979s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_is_it_a_supported_system_exception [0.039210s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.101703s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_boot_into_iso [0.043297s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.039583s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_241_volume_volume_target_id_delete_admin [0.143486s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/targets/5c95997a-5f01-4fa0-9fdc-0aa5c393d79e GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-3a52d92b-5fa1-4ec9-86e3-0f8da7c76dce
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_253_lessee_admin_cannot_put_traits [0.188012s] ... 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-4068d9bd-1667-4b09-9c75-d7cf28cc9ec5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_vendor.VendorPassthruTestCase.test_validate_create_subscription [0.049245s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_ok [0.128196s] ... ok
{0} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_validate_operation_exeption [0.044189s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_local_link_connection.LocalLinkConnectionTestCase.test_interface_not_in_all_interfaces [0.061498s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_242_volume_volume_target_id_delete_member [0.146366s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/targets/bfba7d19-4309-4b0b-a761-ab2e516ed2fb GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-80e20124-ebcf-40b5-8771-c7e200663352
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.inspector.test_agent.InspectHardwareTestCase.test_managed_unversion_url [0.123465s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_254_lessee_manager_cannot_put_traits [0.186012s] ... 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-b675eafe-f199-47de-bb7d-e242dc618fcf
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.inspector.hooks.test_local_link_connection.LocalLinkConnectionTestCase.test_invalid_chassis_id_subtype [0.098725s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_unmanaged_disable_power_off [0.098191s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_243_volume_volume_target_id_delete_reader [0.146664s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/targets/1d510d4f-96bb-4fe4-a0b5-0aae7b45c961 GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-54ff5032-008e-47c5-8141-18fa1eea6162
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.inspector.test_agent.InspectHardwareTestCase.test_unmanaged_disallowed [0.053257s] ... ok
{0} ironic.tests.unit.drivers.modules.inspector.hooks.test_local_link_connection.LocalLinkConnectionTestCase.test_invalid_port_id_subtype [0.093228s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_255_lessee_member_cannot_put_traits [0.170351s] ... 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-1f8a279f-ba4e-48e4-98fd-72cd61bc21da
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.inspector.test_agent.InspectHardwareTestCase.test_unmanaged_ok [0.127383s] ... ok
{0} ironic.tests.unit.drivers.modules.inspector.hooks.test_local_link_connection.LocalLinkConnectionTestCase.test_invalid_tlv_value_hex_format [0.094544s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_244_volume_volume_target_id_delete_service [0.167175s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/targets/11b34f52-916e-432d-a13e-73a87bb1e5c1 GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-6a8dfd9e-05a0-4403-beec-aef1383fb384
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.inspector.hooks.test_local_link_connection.LocalLinkConnectionTestCase.test_lldp_none [0.095551s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_256_third_party_admin_cannot_put_traits [0.174612s] ... 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-d964dad0-0429-4199-ad91-2ea9c3c95e74
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.inspector.hooks.test_local_link_connection.LocalLinkConnectionTestCase.test_no_port_in_ironic [0.099630s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_257_third_party_admin_cannot_put_traits_service [0.187904s] ... 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-03da6bad-bb14-47c2-8b2f-06b3b03034a7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.inspector.hooks.test_local_link_connection.LocalLinkConnectionTestCase.test_port_id_subtype_mac [0.106422s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_local_link_connection.LocalLinkConnectionTestCase.test_port_local_link_connection_already_exists [0.106028s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_258_owner_admin_can_delete_traits [0.175584s] ... 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-f1963879-ff60-4313-b964-6c2116829304
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_245_nodes_volume_get_admin [0.465579s] ... 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-e918b173-8930-4b56-85a7-77467fe10fec
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.inspector.hooks.test_local_link_connection.LocalLinkConnectionTestCase.test_valid_data [0.110639s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_raid_device.RaidDeviceTestCase.test_multiple_new_root_devices [0.082360s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_246_nodes_volume_get_member [0.138028s] ... 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-3a048b91-d0f1-4dd9-8438-e71861250f31
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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"}]}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_259_owner_manager_can_delete_traits [0.175506s] ... 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-210de0c5-d4e6-45d9-8006-b1efc870195c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.inspector.hooks.test_raid_device.RaidDeviceTestCase.test_no_new_root_devices [0.114125s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_247_nodes_volume_get_reader [0.133654s] ... 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-193ee042-e482-4a5f-a4f2-35298f75dc5a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.inspector.hooks.test_raid_device.RaidDeviceTestCase.test_no_previous_inventory [0.082221s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_260_owner_member_cannot_delete_traits [0.167682s] ... 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-2dc2d23e-6711-4819-8e70-e9c84f8f2c76
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.inspector.hooks.test_raid_device.RaidDeviceTestCase.test_no_serials [0.051900s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_raid_device.RaidDeviceTestCase.test_root_device_already_set [0.038965s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_raid_device.RaidDeviceTestCase.test_root_device_found [0.046598s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_248_nodes_volume_connectors_get_admin [0.162437s] ... 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-a647f69e-cc88-43f3-bca8-f5a894254e25
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"connectors": [{"uuid": "ee32c5f1-61c1-4dbb-8682-0feeab4a514f", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/ee32c5f1-61c1-4dbb-8682-0feeab4a514f", "rel": "self"}, {"href": "http://localhost/volume/connectors/ee32c5f1-61c1-4dbb-8682-0feeab4a514f", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]}
{0} ironic.tests.unit.drivers.modules.inspector.hooks.test_ramdisk_error.RamdiskErrorTestCase.test_ramdisk_error [0.039079s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_261_lessee_admin_cannot_delete_traits [0.166443s] ... 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-f706d593-9b6e-4969-9da0-09efd842d1fa
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareAbortTestCase.test_abort_error [0.026123s] ... ok
{2} ironic.tests.unit.drivers.modules.inspector.test_client.GetClientTestCase.test_get_client [1.085226s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_249_nodes_volume_connectors_get_member [0.148407s] ... 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-39682311-7cfa-4679-8b30-2cef4042d801
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"connectors": [{"uuid": "00d9ff82-80c1-4127-abb9-c8c2bb97cb6d", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/00d9ff82-80c1-4127-abb9-c8c2bb97cb6d", "rel": "self"}, {"href": "http://localhost/volume/connectors/00d9ff82-80c1-4127-abb9-c8c2bb97cb6d", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_262_lessee_manager_cannot_delete_traits [0.174040s] ... 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-d7b82430-6859-42c6-89da-cc38183bff9e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareAbortTestCase.test_abort_ok [0.187714s] ... ok
{0} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_default_interfaces [0.038574s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_250_nodes_volume_connectors_get_reader [0.152002s] ... 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-b8f7c3bb-bc7d-40f2-a461-00d27714d540
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"connectors": [{"uuid": "2517aeeb-3334-480c-b511-31c1ee2e15e2", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/2517aeeb-3334-480c-b511-31c1ee2e15e2", "rel": "self"}, {"href": "http://localhost/volume/connectors/2517aeeb-3334-480c-b511-31c1ee2e15e2", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]}
{0} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_agent_rescue [0.036328s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_cinder_storage [0.037569s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_263_lessee_member_cannot_delete_traits [0.171789s] ... 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-39c8f080-5ac4-4b39-bd92-bd3c822ae488
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_shellinabox [0.037298s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.041364s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_251_nodes_volume_targets_get_admin [0.148725s] ... 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-98756d4d-e8fc-4598-a2de-24be0ff50413
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"targets": [{"uuid": "09bb861a-9256-471b-9c32-f96d8baf0104", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/09bb861a-9256-471b-9c32-f96d8baf0104", "rel": "self"}, {"href": "http://localhost/volume/targets/09bb861a-9256-471b-9c32-f96d8baf0104", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]}
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_cd_ok [0.039136s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.039722s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.039701s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_264_third_party_admin_cannot_delete_traits [0.176307s] ... 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-4bd7d426-e589-4946-9013-95b7d283ce8f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__cleanup_vmedia_boot_ok [0.041316s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_252_nodes_volume_targets_get_member [0.151542s] ... 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-39b675c7-ffff-4930-adf0-7e2b7e01f085
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"targets": [{"uuid": "1fbe5912-2787-4d53-bc12-50384c1c6003", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1fbe5912-2787-4d53-bc12-50384c1c6003", "rel": "self"}, {"href": "http://localhost/volume/targets/1fbe5912-2787-4d53-bc12-50384c1c6003", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]}
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_cd_fail [0.039074s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.038900s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_fd_fail [0.038449s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_265_owner_admin_can_put_custom_traits [0.172218s] ... 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-5f6b9ab7-74cc-4a68-9d58-1165aa695097
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_fd_ok [0.040974s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_253_nodes_volume_targets_get_reader [0.145526s] ... 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-b2894379-79a3-45c5-98e6-a015fd129e99
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"targets": [{"uuid": "8d5b76ae-0edc-42d5-8abc-8a635cbb3b4f", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/8d5b76ae-0edc-42d5-8abc-8a635cbb3b4f", "rel": "self"}, {"href": "http://localhost/volume/targets/8d5b76ae-0edc-42d5-8abc-8a635cbb3b4f", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]}
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_floppy_image_name [0.024194s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_iso_name [0.024145s] ... ok
{2} ironic.tests.unit.drivers.modules.inspector.test_client.GetClientTestCase.test_get_client_connection_problem [0.703605s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_config_option [0.025519s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_config_option_non_existed_root [0.024434s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_deprecated [0.024883s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_254_drivers_get_admin [0.131606s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-0480ce9d-7bf7-4f03-a3e3-4c4a26d61e64
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"drivers": []}
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_in_share [0.024805s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_266_owner_manager_can_put_custom_traits [0.173235s] ... 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-8a3b9f3b-0f04-4c8e-ac6c-2d927ca71601
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_kernel_params [0.023966s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_kernel_params_in_conf [0.024272s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_kernel_params_in_driver_info [0.024661s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_not_in_share [0.025010s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_255_drivers_get_member [0.121148s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-6c71fde7-6fb4-4f4d-94c2-977cde8f597b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"drivers": []}
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_with_iso_invalid [0.039007s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.024758s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_267_owner_member_cannot_put_custom_traits [0.177279s] ... 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-2f197cd0-bc5b-4962-8334-40b12c82130f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_deprecated [0.023706s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_file_name_ok [0.023449s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_file_url_ok [0.022823s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_256_drivers_get_reader [0.123904s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-50032186-7ae6-4092-9e92-9d9f5a9dab17
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"drivers": []}
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_glance_ok [0.023566s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_http_ok [0.023354s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_https_ok [0.023234s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_invalid [0.038109s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_268_lessee_admin_cannot_put_custom_traits [0.175432s] ... 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-fbfa69a1-2290-42b1-8aca-d76d96df45f9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_uuid_ok [0.024028s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_257_drivers_driver_name_get_admin [0.131443s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers/fake-driverz WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-265ecdd5-bad9-46b1-ad50-b40fb91b083c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_without_boot_iso_ok [0.023575s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_create_ok [0.049319s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.049312s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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.125155s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers/fake-driverz WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-2cdb2ec6-755f-4aed-a9a9-22deaaeba2fb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_269_lessee_manager_cannot_put_custom_traits [0.178076s] ... 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-20d420a4-3048-4a58-82c8-1f02e3c6c5fa
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_file [0.048569s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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 [0.041658s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_client.GetClientTestCase.test_get_client_standalone [0.688278s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_floppy_image_exception [0.042182s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_259_drivers_driver_name_get_reader [0.127794s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers/fake-driverz WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-c208101e-c830-415f-8fdb-cb48804c33a6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__remove_share_file [0.025273s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_for_boot_with_parameters [0.083982s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_interface.InspectHardwareTestCase.test_managed_custom_params [0.130683s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_260_drivers_properties_get_admin [0.140972s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers/fake-driverz/properties WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-41f0f6b0-96d3-4830-9c83-dafb0e5d074d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_for_boot_without_parameters [0.082491s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_interface.InspectHardwareTestCase.test_managed_disable_power_off [0.114059s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_261_drivers_properties_get_member [0.142885s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers/fake-driverz/properties WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-a40457e9-46ad-4dab-b7c6-2005cf49a4bd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_deploy [0.114572s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_interface.InspectHardwareTestCase.test_managed_error [0.155361s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_with_file_rescue [0.088198s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_262_drivers_properties_get_reader [0.132722s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers/fake-driverz/properties WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-edf90540-c3f7-4152-8a81-cb04f8432f5e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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 [0.069581s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed_deprecated [0.071019s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_263_drivers_raid_logical_disk_properties_get_admin [0.144401s] ... 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-da63bce4-e251-4943-8b28-f12ecdbdd139
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_on_rebuild [0.071944s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_check_share_fs_mounted_exception [0.053995s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_264_drivers_raid_logical_disk_properties_get_member [0.138451s] ... 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-a664f410-7f5b-486d-8244-cad2a0087bea
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_check_share_fs_mounted_ok [0.101866s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_270_lessee_member_cannot_put_custom_traits [0.858973s] ... 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-6b21d3a5-63d5-4b4a-8012-50bd8aa84487
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_parse_deploy_info_ok [0.039948s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.041574s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_265_drivers_raid_logical_disk_properties_get_reader [0.136324s] ... 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-44e18b79-7d03-4a2f-be36-0aa858b980ce
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_setup_vmedia_with_image_service_rescue [0.041006s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_271_third_party_admin_cannot_put_custom_traits [0.254315s] ... 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-ab1462bc-6e1b-4ef7-89fa-f6a27cb80d57
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_266_drivers_vendor_passthru_methods_get_admin [0.139950s] ... 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-2cc2f391-a43c-4d8a-bcd1-ca2a560a364b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareTestCase.test_managed_fast_track [0.668449s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_272_owner_reader_get_vifs [0.137211s] ... 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-571aa27b-1975-45ac-bcc7-5d6c91b978a3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_267_drivers_vendor_passthru_methods_get_member [0.163463s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers/fake-driverz/vendor_passthru/methods WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-43886fe8-8fc1-4b20-af71-f371f033587c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareTestCase.test_managed_fast_track_via_driver_info [0.166504s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_clean_up_instance [0.323044s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_273_lessee_reader_get_vifs [0.097119s] ... 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-843f5417-41b5-434f-9031-18fc46f87f27
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_274_third_party_admin_cannot_get_vifs [0.063267s] ... 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-dc829b84-a571-4325-9c02-99a23f27614d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_instance [0.097852s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_268_drivers_vendor_passthru_methods_get_reader [0.140037s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers/fake-driverz/vendor_passthru/methods WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-5a217f5b-4e2a-4da7-982f-6650fcbba68c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareTestCase.test_managed_ok [0.129048s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_275_owner_admin_can_post_vifs [0.067423s] ... 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-9d734635-219c-4630-bc5e-aa67cd2bcb8b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareTestCase.test_require_managed_boot [0.067413s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_ramdisk_with_backup_bios [0.110952s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_276_service_can_post_vifs_for_own_project [0.067022s] ... 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-9fcb0954-7985-4bdd-b748-d6039433c625
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_269_drivers_vendor_passthru_get_admin [0.133341s] ... 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-245835d6-3636-41e4-8446-cce4cbbe9ff2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareTestCase.test_unmanaged_error [0.075201s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_ramdisk_without_backup_bios [0.101021s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_interface.InspectHardwareTestCase.test_unmanaged_ok [0.075939s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_277_service_cannot_post_vifs_for_other_project [0.119017s] ... 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-20e69e59-af56-4988-8979-c473185dbb14
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareTestCase.test_validate_ok [0.049139s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_270_drivers_vendor_passthru_get_member [0.127167s] ... 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-08ad1418-a327-4582-b324-f74070c0e3c0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test__configure_vmedia_boot [0.059218s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.IRMCVirtualMediaBootTestCase.test_clean_up_instance [0.046106s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.IRMCVirtualMediaBootTestCase.test_clean_up_instance_with_secure_boot ... SKIPPED: bug #2025424
{2} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareTestCase.test_validate_require_managed_boot [0.072621s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_with_secure_boot_false [0.052571s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_278_owner_manager_can_post_vifs [0.140909s] ... 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-4580b3a5-bacd-4e74-9ee8-4f760e7e625b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_271_drivers_vendor_passthru_get_reader [0.129462s] ... 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-95d27f9d-f6bf-41fd-b90b-4df9524d6665
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_279_lessee_admin_can_post_vifs [0.067358s] ... 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-95059bc5-6b59-445d-aa9e-871a42261df2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_without_secure_boot [0.075602s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_apply_configuration [0.109990s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_280_lessee_manager_can_post_vifs [0.069461s] ... 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-25269173-b3de-46cf-8a08-35b1c0644ca2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_ramdisk [0.085192s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_apply_configuration_failed [0.082849s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_272_drivers_vendor_passthru_post_admin [0.126263s] ... 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-75c75cd2-2ae5-4ca7-ad1a-f2d261af295a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_281_owner_member_can_post_vifs [0.071665s] ... 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-1b1ddc15-ac9e-4584-82bd-674670a0b3d7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_partition_image [0.094440s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.095809s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_282_lessee_member_cannot_post_vifs [0.074303s] ... 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-4a94c709-fcca-4fe3-94fb-8b80cd34a172
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_273_drivers_vendor_passthru_post_member [0.137048s] ... 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-2ea10499-e18f-4b27-8aa4-d99a2f6cf496
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image [0.098500s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.IRMCVirtualMediaBootTestCase.test_prepare_instance_with_secure_boot ... SKIPPED: bug #2025424
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_283_owner_reader_cannot_post_vifs [0.074423s] ... 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-05077b64-5a5b-4415-9b3f-99ebf44a4010
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_cache_bios_settings_failed [0.092694s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_284_lessee_reader_cannot_post_vifs [0.068707s] ... 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-5b71f13e-b797-4e87-a543-12c0d27107fe
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_274_drivers_vendor_passthru_post_reader [0.127711s] ... 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-51a7702b-b07c-40a8-bcce-09f370d943f7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_with_secure_boot_false [0.103165s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.088034s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_285_third_party_admin_cannot_post_vifs [0.074814s] ... 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-99a2a143-f164-45c2-b91a-231227f8a600
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_validate [0.089825s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.IRMCVirtualMediaBootTestCase.test_prepare_instance_without_secure_boot [0.103760s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_275_drivers_vendor_passthru_put_admin [0.145706s] ... 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-a5529ce4-d6b3-4f75-acb5-ecb8b116942f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_286_owner_admin_delete_vifs [0.132014s] ... 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-7f54032b-74ec-4c15-9557-e5b35c122180
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config [0.104549s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.106119s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_deploying [0.057357s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_276_drivers_vendor_passthru_put_member [0.142458s] ... 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-1f6b36cc-db56-45e5-9fff-544bf2872f4b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config_corrupted [0.105211s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_rescuing [0.057345s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_287_owner_manager_delete_vifs [0.152087s] ... 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-c4eb5f71-2760-4ba3-93d9-e4329a0513c4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config_failed [0.086338s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_288_lessee_admin_can_delete_vifs [0.119103s] ... 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-c13ac10e-2a2f-4df5-8ee0-91646367949a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_not_deploying_not_cleaning [0.124398s] ... ok
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(
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_remote_image_share_type_values [0.056190s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_289_lessee_manager_can_delete_vifs [0.064275s] ... 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-e93db05f-e8d6-4de7-a844-55c3a5388419
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config [0.115051s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_290_owner_member_can_delete_vifs [0.066750s] ... 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-aca221ee-6e94-4b02-bc7c-392b15048861
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate [0.086843s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_management.IRMCManagementFunctionsTestCase.test_backup_bios_config_failed [0.091560s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_291_lessee_member_cannot_delete_vifs [0.065333s] ... 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-9c812acf-dd73-4094-9d7f-6ecfdd7aac27
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:detach\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue [0.084273s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_292_third_party_admin_cannot_delete_vifs [0.062665s] ... 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-1e582f3d-385c-402b-a126-6b0cc1c03904
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config_skipped [0.098588s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_277_drivers_vendor_passthru_put_reader [0.458464s] ... 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-c4196edc-856d-4aa5-8c0d-da1f823c5619
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_293_service_can_delete_vifs [0.072409s] ... 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-0ab555fb-3b00-4531-9857-b5216bcf8bc5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.087271s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_management.IRMCManagementTestCase.test_get_properties [0.081678s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_278_drivers_vendor_passthru_delete_admin [0.063951s] ... 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-2f2d6a50-9bf9-4982-bee2-ed5e1427359a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.065990s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/drivers/fake-driverz/vendor_passthru?method=test GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-c9b31f1c-78bf-4860-b2b4-72fadabd1a8e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue_ramdisk_not_exist [0.089969s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_management.IRMCManagementTestCase.test_management_interface_detect_vendor_ipmi [0.088694s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_294_service_cannot_delete_other_nodes_vifs [0.137896s] ... 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-91b5fc61-4793-4773-8e23-1cc2650b9a9d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__cleanup_boot_from_volume [0.045497s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_management.IRMCManagementTestCase.test_management_interface_detect_vendor_redfish [0.094718s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_apply_error [0.066081s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_280_drivers_vendor_passthru_delete_reader [0.125015s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/drivers/fake-driverz/vendor_passthru?method=test GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-06cb7d42-9a72-4d0b-a6e6-2cf8bde7d1b4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_295_owner_readers_can_get_indicators [0.140868s] ... 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-1891c22b-d291-4e5d-84ad-07abb98a37e6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_fc [0.066211s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_exception [0.089680s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_281_nodes_bios_get_admin [0.123081s] ... 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-2fc1b981-3708-4dd0-b333-c45fb5d60798
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"bios": [{"created_at": "2025-05-30T17:28:34.268864+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"}]}]}
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi [0.090289s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_ipmitool_ng_redfish [0.093209s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_296_lesse_readers_can_get_indicators [0.139150s] ... 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-191179a3-08db-4a1c-9e6a-b0e67dc2ed38
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_282_nodes_bios_get_member [0.072227s] ... 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-b43a11ac-f41a-441e-9656-62c1ed8ab867
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"bios": [{"created_at": "2025-05-30T17:28:34.340861+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.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_ipmitool_ok_ipmi [0.088340s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi_chap [0.144030s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_283_nodes_bios_get_reader [0.095547s] ... 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-45de668b-373c-4373-bf73-3eff79d04b96
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"bios": [{"created_at": "2025-05-30T17:28:34.413819+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.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ng_ipmi [0.044685s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_297_third_party_admin_cannot_get_indicators [0.157690s] ... 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-77ea89ae-b867-403b-bd44-b45d699a0da2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ng_redfish [0.044815s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ok_ipmi [0.044132s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ok_redfish [0.044056s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi_no_portal_port [0.144399s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_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.
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_284_nodes_bios_bios_setting_get_admin [0.164103s] ... 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-c6fe6245-161e-483b-a5ce-9001cd36bd33
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"FAKE_SETTING": {"created_at": "2025-05-30T17:28:34.577189+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.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_supported_boot_devices_ipmi [0.042792s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_management.IRMCManagementTestCase.test_management_interface_get_supported_boot_devices_redfish [0.043429s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_management.IRMCManagementTestCase.test_management_interface_inject_nmi_fail [0.041246s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_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.
{2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_inject_nmi_ok [0.039667s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_285_nodes_bios_bios_setting_get_member [0.148356s] ... 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-0bef87e6-878c-4b7e-9a14-d7105cba75dc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"FAKE_SETTING": {"created_at": "2025-05-30T17:28:34.727677+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.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_multi_lan_ports [0.176188s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_management.IRMCManagementTestCase.test_management_interface_restore_irmc_bios_config [0.039254s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ng_ipmi [0.054009s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.IRMCVirtualMediaBootWithVolumeTestCase.test_clean_up_instance [0.076470s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.IRMCVirtualMediaBootWithVolumeTestCase.test_clean_up_instance_error [0.042475s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_300_owner_member_can_set_indicator [0.140437s] ... 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-70b33d52-9234-4b20-8b94-62d4719c05b4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_286_nodes_bios_bios_setting_get_reader [0.144648s] ... 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-7bae5fe1-16d0-4baa-acce-c1d7f7f9894e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"FAKE_SETTING": {"created_at": "2025-05-30T17:28:34.894458+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.IRMCVirtualMediaBootWithVolumeTestCase.test_prepare_instance [0.070299s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.IRMCVirtualMediaBootWithVolumeTestCase.test_prepare_ramdisk_skip [0.054597s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_301_lessee_member_cannot_set_indicator [0.150664s] ... 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-95a13663-0fad-48bb-8788-bf752681ffad
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_indicator_state\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_287_conductors_get_admin [0.142119s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-7ceb474b-2f97-4db7-91e8-e904391e4baa
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}]}
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_invalid_physical_id_in_lan_port [0.068161s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_bios_ipmi [0.288507s] ... ok
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(
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi [0.069088s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_302_third_party_admin_cannot_set_indicator [0.148950s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PUT /v1/nodes/05cc5863-6947-46e9-80e7-f936fdc596f2/management/indicators/component/magic_light WITH None GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-43407dd4-b6c3-4eda-8e9d-1c059c01f083
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 05cc5863-6947-46e9-80e7-f936fdc596f2 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_288_conductors_get_member [0.139672s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-361292c7-bd61-4e7e-a18c-c9dbf61ed6df
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}]}
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_invalid_netmask [0.106027s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_303_owner_reader_can_list_portgroups [0.068360s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-f50aee64-4a88-4685-9eaa-207b98403ffc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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": "b67d5b5c-c7b2-4d33-b352-490012f9faaa", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/b67d5b5c-c7b2-4d33-b352-490012f9faaa", "rel": "self"}, {"href": "http://localhost/portgroups/b67d5b5c-c7b2-4d33-b352-490012f9faaa", "rel": "bookmark"}]}]}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_304_owner_service_can_list_portgroups [0.064223s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-637003e0-fa7a-4fc2-a098-40f96417a411
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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": "ccfb701f-53ae-4251-9689-5838e901905b", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/ccfb701f-53ae-4251-9689-5838e901905b", "rel": "self"}, {"href": "http://localhost/portgroups/ccfb701f-53ae-4251-9689-5838e901905b", "rel": "bookmark"}]}]}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_289_conductors_get_reader [0.136598s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-47b9579f-8601-4d93-9dfb-4d5026d6e4bf
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}]}
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_ip [0.128278s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_cdrom_ipmi [0.285919s] ... ok
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.api.test_acl.TestRBACProjectScoped.test_project_scoped_305_lessee_reader_can_list_portgroups [0.119406s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-45fd5053-fd79-445b-a1d2-7b0c24ee7a16
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"portgroups": [{"uuid": "f24d00b8-d381-4678-ae42-c72113b71ef6", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/f24d00b8-d381-4678-ae42-c72113b71ef6", "rel": "self"}, {"href": "http://localhost/portgroups/f24d00b8-d381-4678-ae42-c72113b71ef6", "rel": "bookmark"}]}]}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_290_conductors_hostname_get_admin [0.127177s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors/test-conductor-node WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-69adf33e-7dfd-40a9-95eb-eccaa746936e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"created_at": "2025-05-30T17:28:35.452155+00:00", "updated_at": "2025-05-30T17:28:35.452757+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}
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_iqn [0.134147s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_291_conductors_hostname_get_member [0.127061s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors/test-conductor-node WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-a8fc7402-d084-45d1-9845-6aed0076e5a7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"created_at": "2025-05-30T17:28:35.584071+00:00", "updated_at": "2025-05-30T17:28:35.593360+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.api.test_acl.TestRBACProjectScoped.test_project_scoped_306_third_party_admin_cannot_list_portgroups [0.140290s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-92aad9a1-385c-47eb-b566-55ff1eb502c0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"portgroups": []}
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_netmask [0.132254s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_disk_ipmi [0.289587s] ... ok
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_292_conductors_hostname_get_reader [0.135449s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors/test-conductor-node WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-76df7cc5-0265-450f-bdde-b0cbd2799a48
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"created_at": "2025-05-30T17:28:35.708294+00:00", "updated_at": "2025-05-30T17:28:35.708875+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}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_293_allocations_post_admin [0.150450s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/allocations WITH {'resource_class': 'CUSTOM_TEST'} GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-2f4aeecd-b45e-4540-aa8c-2a43cc2a69b9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_pxe_ipmi [0.281139s] ... ok
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_294_allocations_post_member [0.142710s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/allocations WITH {'resource_class': 'CUSTOM_TEST'} GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-16cc5b39-4641-44fa-80c0-a10be54a2a82
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_307_owner_reader_can_read_portgroup [0.523251s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-5e434de9-5c8f-48bc-9060-8312a58d6160
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "created_at": "2025-05-30T17:28:35.720807+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"}]}
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_physical_id [0.484761s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_295_allocations_post_reader [0.152891s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/allocations WITH {'resource_class': 'CUSTOM_TEST'} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-98ba11d5-aaa6-44c9-b839-44057980576d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create_restricted\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_safe_ipmi [0.290609s] ... ok
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(
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_too_large_netmask [0.147658s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_296_allocations_get_admin [0.140558s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-d0dc2a31-b6d2-40d8-b298-ff0ee90385ac
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"allocations": [{"uuid": "6f531375-515e-4f4f-bf9d-716d0c3daaac", "created_at": "2025-05-30T17:28:36.264937+00:00", "updated_at": "2025-05-30T17:28:36.277703+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/6f531375-515e-4f4f-bf9d-716d0c3daaac", "rel": "self"}, {"href": "http://localhost/allocations/6f531375-515e-4f4f-bf9d-716d0c3daaac", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_308_lessee_reader_can_read_portgroup [0.161372s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups/8c3ffaae-90a0-41c9-98e7-64becbf07a5a WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-1b5e04ec-68f8-4aaf-8b13-3dd520bbb510
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "8c3ffaae-90a0-41c9-98e7-64becbf07a5a", "created_at": "2025-05-30T17:28:36.277597+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/8c3ffaae-90a0-41c9-98e7-64becbf07a5a", "rel": "self"}, {"href": "http://localhost/portgroups/8c3ffaae-90a0-41c9-98e7-64becbf07a5a", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/8c3ffaae-90a0-41c9-98e7-64becbf07a5a/ports", "rel": "self"}, {"href": "http://localhost/portgroups/8c3ffaae-90a0-41c9-98e7-64becbf07a5a/ports", "rel": "bookmark"}]}
{2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interfase_set_boot_device_fail_redfish [0.096400s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_too_small_netmask [0.149905s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_297_allocations_get_member [0.140072s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-2b7cdfab-021d-434d-b756-69ac49fd359e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"allocations": [{"uuid": "06d899e3-c229-471a-bbea-92c84634307f", "created_at": "2025-05-30T17:28:36.415706+00:00", "updated_at": "2025-05-30T17:28:36.419676+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/06d899e3-c229-471a-bbea-92c84634307f", "rel": "self"}, {"href": "http://localhost/allocations/06d899e3-c229-471a-bbea-92c84634307f", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_309_third_party_admin_cannot_read_portgroup [0.151318s] ... 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-8b6a6971-bc67-41f5-934d-c3ea1a1a766b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interfase_set_boot_device_success_redfish [0.094517s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_management.IRMCManagementTestCase.test_validate_ipmi_fail [0.078399s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_no_physical_id_in_lan_port [0.134145s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_298_allocations_get_reader [0.145008s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-eb654c02-700c-4654-8606-3d7654dc0ee2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"allocations": [{"uuid": "53f7c174-e8f8-457f-97c5-21f7e6ef449a", "created_at": "2025-05-30T17:28:36.552945+00:00", "updated_at": "2025-05-30T17:28:36.556937+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/53f7c174-e8f8-457f-97c5-21f7e6ef449a", "rel": "self"}, {"href": "http://localhost/allocations/53f7c174-e8f8-457f-97c5-21f7e6ef449a", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]}
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IsImageHrefOrdinaryFileNameTestCase.test_is_image_href_ordinary_file_name_false [0.033934s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_310_owner_admin_can_add_portgroup [0.176943s] ... 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/58126633-ea51-4f42-82f6-b3b2a4fd35e5
Openstack-Request-Id: req-1dda0bab-765e-4d00-9179-45183548a659
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "58126633-ea51-4f42-82f6-b3b2a4fd35e5", "created_at": "2025-05-30T17:28:36.667966+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/58126633-ea51-4f42-82f6-b3b2a4fd35e5", "rel": "self"}, {"href": "http://localhost/portgroups/58126633-ea51-4f42-82f6-b3b2a4fd35e5", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/58126633-ea51-4f42-82f6-b3b2a4fd35e5/ports", "rel": "self"}, {"href": "http://localhost/portgroups/58126633-ea51-4f42-82f6-b3b2a4fd35e5/ports", "rel": "bookmark"}]}
{2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate_ipmi_success [0.079745s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_boot.IsImageHrefOrdinaryFileNameTestCase.test_is_image_href_ordinary_file_name_true [0.040611s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_check_elcm_license_fail_elcm_error [0.052308s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_299_allocations_allocation_id_get_admin [0.155576s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations/c5fb50da-292c-48cb-b41d-1111df04c7e4 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-1da088ec-a20e-4a0f-9013-0437edd770c7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "c5fb50da-292c-48cb-b41d-1111df04c7e4", "created_at": "2025-05-30T17:28:36.696146+00:00", "updated_at": "2025-05-30T17:28:36.700209+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/c5fb50da-292c-48cb-b41d-1111df04c7e4", "rel": "self"}, {"href": "http://localhost/allocations/c5fb50da-292c-48cb-b41d-1111df04c7e4", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}
{0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_check_elcm_license_fail_invalid_json [0.051826s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_311_owner_service_can_add_portgroup [0.176963s] ... 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/490b2432-7b40-42be-9215-e2f1c38c6087
Openstack-Request-Id: req-04918aaf-d3f0-4391-8c59-09f8f805a88f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "490b2432-7b40-42be-9215-e2f1c38c6087", "created_at": "2025-05-30T17:28:36.854210+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/490b2432-7b40-42be-9215-e2f1c38c6087", "rel": "self"}, {"href": "http://localhost/portgroups/490b2432-7b40-42be-9215-e2f1c38c6087", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/490b2432-7b40-42be-9215-e2f1c38c6087/ports", "rel": "self"}, {"href": "http://localhost/portgroups/490b2432-7b40-42be-9215-e2f1c38c6087/ports", "rel": "bookmark"}]}
{0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_check_elcm_license_success_with_200 [0.049074s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_300_allocations_allocation_id_get_member [0.134998s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations/b975ce23-224a-4d1c-afbc-284857062a40 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-a0c00e1c-492c-41d7-93f0-74f2efb63bb4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "b975ce23-224a-4d1c-afbc-284857062a40", "created_at": "2025-05-30T17:28:36.855456+00:00", "updated_at": "2025-05-30T17:28:36.859366+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/b975ce23-224a-4d1c-afbc-284857062a40", "rel": "self"}, {"href": "http://localhost/allocations/b975ce23-224a-4d1c-afbc-284857062a40", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}
{0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_check_elcm_license_success_with_500 [0.050733s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_client [0.048252s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_312_owner_manager_can_add_portgroup [0.161452s] ... 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/a190002b-ceb1-4d7d-87d9-c3687ffc2f4e
Openstack-Request-Id: req-621c1ce3-abf0-4c8b-ae0a-0b406fdc48d8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "a190002b-ceb1-4d7d-87d9-c3687ffc2f4e", "created_at": "2025-05-30T17:28:37.016919+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/a190002b-ceb1-4d7d-87d9-c3687ffc2f4e", "rel": "self"}, {"href": "http://localhost/portgroups/a190002b-ceb1-4d7d-87d9-c3687ffc2f4e", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/a190002b-ceb1-4d7d-87d9-c3687ffc2f4e/ports", "rel": "self"}, {"href": "http://localhost/portgroups/a190002b-ceb1-4d7d-87d9-c3687ffc2f4e/ports", "rel": "bookmark"}]}
{0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_report [0.057819s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_301_allocations_allocation_id_get_reader [0.143277s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations/7dbc13da-5a7c-4f85-83d0-7cf6f89fbd80 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-41a89f0e-e5e0-42b0-8035-c395d86e5c70
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "7dbc13da-5a7c-4f85-83d0-7cf6f89fbd80", "created_at": "2025-05-30T17:28:36.989030+00:00", "updated_at": "2025-05-30T17:28:37.004887+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/7dbc13da-5a7c-4f85-83d0-7cf6f89fbd80", "rel": "self"}, {"href": "http://localhost/allocations/7dbc13da-5a7c-4f85-83d0-7cf6f89fbd80", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}
{2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate_redfish_fail [0.402132s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_auth_method [0.051827s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_port [0.053803s] ... ok
{2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate_redfish_success [0.090708s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_313_owner_member_cannot_add_portgroup [0.152096s] ... 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-67c88557-0460-4895-ad7c-dc0bc431729b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_common.IRMCCommonMethodsTestCase.test_out_range_sensor_method [0.046861s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_302_allocations_allocation_id_patch_admin [0.177539s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/allocations/e6c75823-b99f-4c9c-8391-4a29a9723ccf WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-22216db8-20bc-4ba6-86ab-595aac3c1708
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "e6c75823-b99f-4c9c-8391-4a29a9723ccf", "created_at": "2025-05-30T17:28:37.140996+00:00", "updated_at": "2025-05-30T17:28:37.232285+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/e6c75823-b99f-4c9c-8391-4a29a9723ccf", "rel": "self"}, {"href": "http://localhost/allocations/e6c75823-b99f-4c9c-8391-4a29a9723ccf", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}
{0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_irmc_version_fail [0.086152s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_management.IRMCManagementTestCase.test_verify_http_s_connection_and_fw_ver_fail_invalid [0.116009s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_314_lessee_admin_cannot_add_portgroup [0.158011s] ... 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-33c65275-f95c-4739-94fe-afe0a9d99cfb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_303_allocations_allocation_id_patch_member [0.159061s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/allocations/6da7e0e0-ae71-4011-82b1-48db77cb214d WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-b7602b7e-2c9d-409b-baf6-87f2babe37e6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6da7e0e0-ae71-4011-82b1-48db77cb214d", "created_at": "2025-05-30T17:28:37.311078+00:00", "updated_at": "2025-05-30T17:28:37.405791+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/6da7e0e0-ae71-4011-82b1-48db77cb214d", "rel": "self"}, {"href": "http://localhost/allocations/6da7e0e0-ae71-4011-82b1-48db77cb214d", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}
{0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_irmc_version_success [0.102749s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_management.IRMCManagementTestCase.test_verify_http_s_connection_and_fw_ver_fail_missing [0.106788s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_disable [0.048778s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_enable [0.049599s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_315_lessee_manager_cannot_add_portgroup [0.152373s] ... 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-d3ce65e7-90e4-484a-8726-47e05a310eb7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_verify_http_s_connection_and_fw_ver_raise_http_success [0.116839s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_304_allocations_allocation_id_patch_reader [0.149047s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/allocations/89cc66eb-18fa-4f4b-87b8-c7b8b7b7de5e WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-f746e306-928b-4d2e-bb9b-e8305c802e9b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:update\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_fail [0.085783s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_management.IRMCManagementTestCase.test_verify_http_s_connection_and_fw_ver_raise_https_success [0.115281s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_316_lessee_member_cannot_add_portgroup [0.153725s] ... 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-00d15ad9-a049-4025-afed-3710fbf023d8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_305_allocations_allocation_id_delete_admin [0.143845s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/allocations/7b5f55b6-dbbb-4fc3-b990-6aa1e5e03006 GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-2a4a73ac-78cc-4b04-aa92-e88ea1fe0fa7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_update_ipmi_properties [0.083111s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_common.IRMCCommonMethodsTestCase.test_within_version_ranges_fail_no_match [0.046549s] ... ok
{2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_verify_http_s_connection_and_fw_ver_success [0.111200s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_common.IRMCCommonMethodsTestCase.test_within_version_ranges_fail_no_version_set [0.047248s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_317_third_party_admin_cannot_add_portgroup [0.152205s] ... 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-ff279d86-9967-46fc-a14b-49611f54ebe7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_306_allocations_allocation_id_delete_member [0.147015s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/allocations/f9b700b0-887c-4d10-829c-da525c7b6375 GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-c16d2fb0-e7e6-462d-8de8-79e64b7085bc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_within_version_ranges_success [0.049780s] ... ok
{2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network [0.131991s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_common.IRMCCommonMethodsTestCase.test_within_version_ranges_success_out_range [0.049263s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info [0.035219s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_307_allocations_allocation_id_delete_reader [0.140934s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/allocations/6d6973c9-ba83-40d5-8ecb-708a046e7536 GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-76bfff42-75e0-4ac6-a2c3-46bcccd11a9e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:delete\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_318_owner_admin_can_modify_portgroup [0.166180s] ... 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-9189db8a-f2ae-4fa7-bbc7-54064d55e64b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_dir_path_verify_ca [0.050729s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_file_path_verify_ca [0.026818s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_auth_method [0.024975s] ... ok
{2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network_from_node [0.185318s] ... ok
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_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_port [0.025392s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_sensor_method [0.025646s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_308_nodes_allocation_get_admin [0.145311s] ... 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-da72d7fa-353a-4ed5-9fa9-d3f37cf26834
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "b645909b-21f5-41ea-8b47-e25de9319b45", "created_at": "2025-05-30T17:28:38.057450+00:00", "updated_at": "2025-05-30T17:28:38.061491+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/b645909b-21f5-41ea-8b47-e25de9319b45", "rel": "self"}, {"href": "http://localhost/allocations/b645909b-21f5-41ea-8b47-e25de9319b45", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}
{0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_auth_password [0.025884s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_auth_proto [0.025592s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_319_owner_manager_can_modify_portgroup [0.174563s] ... 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-c9f210e5-6ecf-422f-a755-0f5c175053c0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_community [0.028223s] ... ok
{2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network_with_sg [0.156083s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_port [0.023784s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_priv_password [0.025610s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_309_nodes_allocation_get_member [0.134163s] ... 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-f0d34308-b177-40ed-87fe-6c867e629dc1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "fef21fb7-aed4-4dfd-b27b-4cb5e5b52a09", "created_at": "2025-05-30T17:28:38.205405+00:00", "updated_at": "2025-05-30T17:28:38.209753+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/fef21fb7-aed4-4dfd-b27b-4cb5e5b52a09", "rel": "self"}, {"href": "http://localhost/allocations/fef21fb7-aed4-4dfd-b27b-4cb5e5b52a09", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}
{0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_priv_proto [0.056555s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_310_nodes_allocation_get_reader [0.065888s] ... 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-1518a9e1-f51c-4c28-9258-f431396a8481
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "ac9bde02-a3b6-4870-a429-18a8c5c16a57", "created_at": "2025-05-30T17:28:38.303638+00:00", "updated_at": "2025-05-30T17:28:38.307457+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/ac9bde02-a3b6-4870-a429-18a8c5c16a57", "rel": "self"}, {"href": "http://localhost/allocations/ac9bde02-a3b6-4870-a429-18a8c5c16a57", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}
{0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_security [0.049358s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_320_owner_member_cannot_modify_portgroup [0.163848s] ... 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-5b785a41-dc66-4afc-91a4-12d05a9adbdc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network [0.150902s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_311_nodes_allocation_delete_admin [0.063321s] ... 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-a8037586-ea72-4ce4-9ec0-74144f98a6bb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_user [0.048330s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_version [0.051857s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_version_fips [0.050984s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_321_lessee_admin_cannot_modify_portgroup [0.154395s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/portgroups/9f8599f2-b128-4500-bccb-f3b7c3e8eb8d WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-a515cc72-2767-4d49-9a96-91ab9ff1419b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_timeout [0.048396s] ... ok
{2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network_from_node [0.191247s] ... ok
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_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_verify_ca [0.058587s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_address [0.036692s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_322_lessee_manager_cannot_modify_portgroup [0.154427s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/portgroups/bd46e9d8-7ff3-427d-a243-0616438b8ae7 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-229c992f-3462-4e7d-aa53-d3a113c90846
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network_with_sg [0.099721s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_multiple_params [0.056450s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_password [0.045918s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_312_nodes_allocation_delete_member [0.389889s] ... 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-4ac90e6a-1f38-4449-9a7c-c82a90625042
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network [0.108354s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_snmp_auth_password [0.051076s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_323_lessee_member_cannot_modify_portgroup [0.150824s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/portgroups/c5ff7e47-9fa6-44ab-88ab-3c7f9f4e9ce1 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-a8a9fe3e-c221-4a33-91c3-3511d6b93abb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_snmp_priv_password [0.046860s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_313_nodes_allocation_delete_reader [0.132729s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-09cee5bf-25fa-43c8-ad2a-15b53e7624ab
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:delete\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_snmp_user [0.044571s] ... ok
{2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network_from_node [0.149745s] ... ok
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_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_username [0.055218s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_324_third_party_admin_cannot_modify_portgroup [0.168241s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/portgroups/14093a10-8528-49ca-a839-112c66438935 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-f2b3474b-b168-4df1-a897-e22a9e959187
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 14093a10-8528-49ca-a839-112c66438935 could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_short_snmp_auth_password [0.048977s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_314_deploy_templates_post_admin [0.148978s] ... 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/3613a8b4-db2d-4aef-97fb-561360ec5753
Openstack-Request-Id: req-a2965de2-20db-4840-b639-ec96121b2cea
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "3613a8b4-db2d-4aef-97fb-561360ec5753", "created_at": "2025-05-30T17:28:39.070606+00:00", "updated_at": null, "name": "CUSTOM_TEST_TEMPLATE", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/3613a8b4-db2d-4aef-97fb-561360ec5753", "rel": "self"}, {"href": "http://localhost/deploy_templates/3613a8b4-db2d-4aef-97fb-561360ec5753", "rel": "bookmark"}], "steps": [{"interface": "deploy", "step": "noop", "args": {}, "priority": 0}]}
{2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network_with_sg [0.106092s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_common.IRMCValidateParametersTestCase.test_parse_driver_info_short_snmp_priv_password [0.044316s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_snmpv3 [0.044299s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_325_owner_admin_can_delete_portgroup [0.143936s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-882b4721-4355-4489-b6ba-f98e5ed27ebe
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network [0.111073s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_common.IRMCValidateParametersTestCase.test_parse_driver_info_string_bool_verify_ca [0.049825s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_315_deploy_templates_post_member [0.147254s] ... 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-26875fb7-78ee-449b-939c-8707248eac6f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_using_snmp_security [0.040025s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_option_default [0.042896s] ... ok
{2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network_from_node [0.125517s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_316_deploy_templates_post_reader [0.140445s] ... 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-8a52d0ea-5e03-4bdd-b4e9-e935eb34a044
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_326_owner_manager_can_delete_portgroup [0.167569s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-5bd53043-2d18-4002-9b01-d89e38910ea8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_snmp_driver_info_with_snmp [0.051704s] ... ok
{2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network_with_sg [0.104297s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_inspect.IRMCInspectInternalMethodsTestCase.test__get_mac_addresses [0.073703s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_317_deploy_templates_get_admin [0.134762s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-d16cf168-d835-46c4-aa23-b49072149459
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"deploy_templates": [{"uuid": "0f0cb48a-9da9-4ab6-93be-b238bd083c36", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/0f0cb48a-9da9-4ab6-93be-b238bd083c36", "rel": "self"}, {"href": "http://localhost/deploy_templates/0f0cb48a-9da9-4ab6-93be-b238bd083c36", "rel": "bookmark"}]}]}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_327_owner_member_cannot_delete_portgroup [0.162589s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-2679fddb-4a29-490d-8ede-25ca609f608d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware_exception [0.072077s] ... ok
{2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks [0.116337s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware_ipmi [0.083198s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_318_deploy_templates_get_member [0.136621s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-31ff6b8b-02af-4c9e-a70f-72ce68ffdb7e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"deploy_templates": [{"uuid": "cf377586-4a95-458a-8d9d-9e263ff27fcb", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/cf377586-4a95-458a-8d9d-9e263ff27fcb", "rel": "self"}, {"href": "http://localhost/deploy_templates/cf377586-4a95-458a-8d9d-9e263ff27fcb", "rel": "bookmark"}]}]}
{2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_multiple_ports_one_vif_id [0.107144s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_328_owner_service_can_delete_portgroup [0.169557s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-e21ad537-898a-4259-86a3-d82859bf5300
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware_redfish [0.087697s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_319_deploy_templates_get_reader [0.126491s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-c86b36bf-8f9a-41fe-a176-c8bebc0c84ba
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"deploy_templates": [{"uuid": "928e11f0-2b9a-40a6-bd1b-21d559894485", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/928e11f0-2b9a-40a6-bd1b-21d559894485", "rel": "self"}, {"href": "http://localhost/deploy_templates/928e11f0-2b9a-40a6-bd1b-21d559894485", "rel": "bookmark"}]}]}
{2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_ports_for_node [0.088129s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_inspect.IRMCInspectTestCase.test__init_fail_invalid_fpga_ids_input [0.045302s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test__init_fail_invalid_gpu_ids_input [0.049010s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_329_lessee_admin_cannot_delete_portgroup [0.152478s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/portgroups/485a95f2-6d05-4cb9-a0db-eff855a4b2cd GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-855182c2-27ff-47c3-a32a-e98357d22f6f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_vif_id [0.115884s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_inspect.IRMCInspectTestCase.test_get_properties [0.073644s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_320_deploy_templates_deploy_template_id_get_admin [0.138172s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates/8a3e515e-dea5-4fd4-9e61-6f1d2bf6f517 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-412ba0a0-2b59-4f14-915b-232bb7572cac
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "8a3e515e-dea5-4fd4-9e61-6f1d2bf6f517", "created_at": "2025-05-30T17:28:39.852488+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/8a3e515e-dea5-4fd4-9e61-6f1d2bf6f517", "rel": "self"}, {"href": "http://localhost/deploy_templates/8a3e515e-dea5-4fd4-9e61-6f1d2bf6f517", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}
{2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_update_fail [0.101108s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_330_lessee_manager_cannot_delete_portgroup [0.149937s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/portgroups/c2ab9313-5a7a-4472-a6a9-f804c9e4f400 GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-c3a705fe-3ed8-481d-8720-5bf74f5583c1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_321_deploy_templates_deploy_template_id_get_member [0.138888s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates/87972989-f5e3-4c02-b3bb-2e16384e5e02 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-779f05ef-e0eb-43e1-9f01-31a474d9e3e0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "87972989-f5e3-4c02-b3bb-2e16384e5e02", "created_at": "2025-05-30T17:28:39.980955+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/87972989-f5e3-4c02-b3bb-2e16384e5e02", "rel": "self"}, {"href": "http://localhost/deploy_templates/87972989-f5e3-4c02-b3bb-2e16384e5e02", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}
{0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware [0.214673s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_322_deploy_templates_deploy_template_id_get_reader [0.083239s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates/2875c67b-54a5-4dba-ad89-fabfe6b7ced8 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-78ebb616-44cb-47f4-bf38-10f0becb0096
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "2875c67b-54a5-4dba-ad89-fabfe6b7ced8", "created_at": "2025-05-30T17:28:40.103172+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/2875c67b-54a5-4dba-ad89-fabfe6b7ced8", "rel": "self"}, {"href": "http://localhost/deploy_templates/2875c67b-54a5-4dba-ad89-fabfe6b7ced8", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}
{2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_client_id [0.163568s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_331_lessee_member_cannot_delete_portgroup [0.155417s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/portgroups/5f00dd4d-b195-40cc-9c30-d454334e95da GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-fef253de-a9cf-4a18-a037-a96ef060a43e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_inspect.IRMCInspectTestCase.test_inspect_hardware_existing_cap_in_props [0.089164s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_323_deploy_templates_deploy_template_id_patch_admin [0.104084s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/deploy_templates/cb976cb0-f6a7-400f-890d-9d016b1c4003 WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-58c12f10-5226-468f-be66-8727976b0129
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "cb976cb0-f6a7-400f-890d-9d016b1c4003", "created_at": "2025-05-30T17:28:40.170465+00:00", "updated_at": "2025-05-30T17:28:40.214139+00:00", "name": "CUSTOM_MAGIC", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/cb976cb0-f6a7-400f-890d-9d016b1c4003", "rel": "self"}, {"href": "http://localhost/deploy_templates/cb976cb0-f6a7-400f-890d-9d016b1c4003", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}
{2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_portgroups [0.156718s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_324_deploy_templates_deploy_template_id_patch_member [0.127267s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/deploy_templates/973983f0-5fc1-4a1c-b255-abd2f775476a WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-534ef83f-6a4e-428c-bb4b-7f19b5d55cbd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_332_third_party_admin_cannot_delete_portgroup [0.184378s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/portgroups/635182ab-a04d-4a16-bf61-4a807d595049 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-906c4170-a151-42de-9090-5da5323f9cda
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 635182ab-a04d-4a16-bf61-4a807d595049 could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_inspect_exception [0.209556s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_325_deploy_templates_deploy_template_id_patch_reader [0.065884s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/deploy_templates/54b451ea-4b8c-4f09-9ed7-d8fcb573e27c WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-e96ce3eb-74bf-4c4d-b5a7-82c4c316fafc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.063896s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/deploy_templates/8c3a4994-9c9b-45b0-b687-d99cf3545bd8 GOT Response: 204 No Content
Openstack-Request-Id: req-14d3ae9b-32d4-4d1f-a3b7-f40e11f52111
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_portgroups_no_address [0.180539s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_333_service_cannot_delete_portgroup [0.162942s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/portgroups/262d17ec-a272-4190-84cc-9ac14e733d73 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-d625c0bc-e9b7-4339-b54c-bcd6997ea943
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 262d17ec-a272-4190-84cc-9ac14e733d73 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_327_deploy_templates_deploy_template_id_delete_member [0.105705s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/deploy_templates/442a81f1-209e-4fd8-992e-9b61cdcda51d GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-2a0d7361-387d-4a58-9a1d-7ec3059e8d2e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_get_node_network_data [0.137207s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_334_owner_reader_can_get_node_portgroups [0.161588s] ... 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-8ea98321-2d0b-458e-86c9-12eb25635b7a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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"}]}]}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_328_deploy_templates_deploy_template_id_delete_reader [0.143812s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/deploy_templates/451a2643-f2a0-484e-ad8b-e8fe223a3bb2 GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-e8bc2d0d-964f-4c45-bb69-6ada049d51a2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_need_power_on_false [0.113341s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_inspect.IRMCInspectTestCase.test_inspect_hardware_mac_already_exist [0.324083s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_inspect.IRMCInspectTestCase.test_inspect_hardware_props_empty_gpu_ids_fpga_id_sand_existing_cap [0.041345s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_empty_gpu_ids_fpga_ids [0.041745s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_335_lessee_reader_can_get_node_porgtroups [0.163904s] ... 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-1e6e13a5-5502-46a6-9b46-73a5840d191e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"portgroups": [{"uuid": "7bea14f8-cf15-477b-8ab3-ea0072f0feda", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/7bea14f8-cf15-477b-8ab3-ea0072f0feda", "rel": "self"}, {"href": "http://localhost/portgroups/7bea14f8-cf15-477b-8ab3-ea0072f0feda", "rel": "bookmark"}]}]}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_329_chassis_post_admin [0.128642s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 201 Created
Content-Type: application/json
Location: http://localhost/v1/chassis/0fce1482-199d-4502-9576-186dc8eeceaf
Openstack-Request-Id: req-7bb3a69c-1e31-4f5d-bad1-d34cc11ac39d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "0fce1482-199d-4502-9576-186dc8eeceaf", "created_at": "2025-05-30T17:28:40.868937+00:00", "updated_at": null, "description": "test-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/0fce1482-199d-4502-9576-186dc8eeceaf", "rel": "self"}, {"href": "http://localhost/chassis/0fce1482-199d-4502-9576-186dc8eeceaf", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/0fce1482-199d-4502-9576-186dc8eeceaf/nodes", "rel": "self"}, {"href": "http://localhost/chassis/0fce1482-199d-4502-9576-186dc8eeceaf/nodes", "rel": "bookmark"}]]}
{0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_gpu_and_cpu_fpgas_results_are_different [0.044056s] ... ok
{2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_need_power_on_true [0.129811s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_inspect.IRMCInspectTestCase.test_inspect_hardware_props_gpu_cpu_fpgas_zero_and_existing_cap [0.043498s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_pci_gpu_devices_return_zero [0.040950s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_336_third_party_admin_cannot_get_portgroups [0.144364s] ... 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-f6e56ba8-efe0-479d-a06c-27ae18529436
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_trusted_boot_removed [0.046219s] ... ok
{2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_cleaning_network [0.134950s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_330_chassis_post_member [0.144478s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-006f45a8-f076-43b3-831f-2337a13d11aa
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:create\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_with_power_off [0.097234s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_inspect.IRMCInspectTestCase.test_validate [0.036815s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_337_service_cannot_get_portgroups [0.146803s] ... 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-5a1413e4-afc9-4b0e-9592-ea03907f33d5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_331_chassis_post_reader [0.138722s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-b8d22d06-d87e-46bf-ae67-9f945dfe00f1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:create\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_cleaning_network_from_node [0.156527s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_inspect.IRMCInspectTestCase.test_validate_fail [0.037332s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_none_raid_adapter_profile [0.034270s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_raid_level_is_none [0.035288s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_raid_level_outside_list [0.034246s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_332_chassis_get_admin [0.137417s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-0136280b-a5b3-4eeb-873d-0a32c29e0fef
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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"}]}]}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_338_owner_reader_can_list_ports [0.150820s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-f090b12e-307b-4a6b-b086-241439525893
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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": "f6d63e9b-f1e8-4923-8523-c855a11d2062", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/f6d63e9b-f1e8-4923-8523-c855a11d2062", "rel": "self"}, {"href": "http://localhost/ports/f6d63e9b-f1e8-4923-8523-c855a11d2062", "rel": "bookmark"}]}]}
{2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_provisioning_network [0.131764s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_without_raid_level [0.039168s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__commit_raid_config_with_logical_drives [0.036827s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_0 [0.025393s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_1 [0.023987s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_339_owner_service_can_list_ports [0.132742s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-ebe8b43f-9a21-4e78-b6a7-a2e0924bd971
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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": "71c18ed5-a11e-46c3-80c7-eadb0a120ff5", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/71c18ed5-a11e-46c3-80c7-eadb0a120ff5", "rel": "self"}, {"href": "http://localhost/ports/71c18ed5-a11e-46c3-80c7-eadb0a120ff5", "rel": "bookmark"}]}]}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_333_chassis_get_member [0.143326s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-6c5aee3e-ee62-4897-a59c-45bfaa1ccb45
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_10 [0.028046s] ... ok
{2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_provisioning_network_from_node [0.143128s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_5 [0.026149s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_50 [0.023996s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_6 [0.024591s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_with_physical_disk [0.023630s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_334_chassis_get_reader [0.119734s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-bf9adddb-376b-445a-a2c7-902c42a9c545
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_difference_physical_disks_type [0.035712s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_340_lessee_reader_can_list_ports [0.149390s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-4c29faa4-85f3-4d4b-976a-d9d321efe8cd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": [{"uuid": "e9037707-2a01-4415-a2a9-08a80b96be68", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/e9037707-2a01-4415-a2a9-08a80b96be68", "rel": "self"}, {"href": "http://localhost/ports/e9037707-2a01-4415-a2a9-08a80b96be68", "rel": "bookmark"}]}]}
{2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_rescuing_network [0.146879s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_duplicated_physical_disks [0.039596s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_not_enough_valid_disks [0.037633s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_335_chassis_get_service [0.131194s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-2a33e94e-e778-4e8e-b831-b872c0d542e4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_incorrect_valid_disks [0.038367s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_341_third_party_admin_cannot_list_ports [0.124444s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-e42a51bb-2ee6-48ae-94b8-157f3f8f4938
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": []}
{2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks [0.129621s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_insufficient [0.038455s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_not_enough_disks [0.034990s] ... ok
{0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_outside_valid_disks_1 [0.035567s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_336_chassis_detail_get_admin [0.127675s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis/detail WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-a2946706-708e-4eb5-b9ae-9366a69ea9d5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-30T17:28:41.768455+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.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_outside_valid_slots_2 [0.037479s] ... ok
{2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks_portgroup_1 [0.126954s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_without_physical_disks [0.034432s] ... ok
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__has_vmedia_device [0.026090s] ... ok
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__has_vmedia_device_inserted [0.029522s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_337_chassis_detail_get_member [0.142162s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis/detail WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-417c5c49-6bfe-4eb7-a708-d929a7036766
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-30T17:28:41.908900+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.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_already_inserted [0.035110s] ... ok
{2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks_portgroup_2 [0.138046s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.RedfishVirtualMediaBootTestCase.test__insert_vmedia_anew [0.035792s] ... ok
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_anew_dvd [0.035307s] ... ok
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_anew_dvd_retry [0.064744s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_338_chassis_detail_get_reader [0.146099s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis/detail WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-9bd9cffe-bbad-49a2-8ee3-4b65b999ba42
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-30T17:28:42.057025+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.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks_smartnic [0.125097s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_342_owner_reader_can_read_port [0.421403s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-d5103107-799e-40d8-aabb-3cd00f70e8b8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "ebe30f19-358d-41e1-8d28-fd7357a0164c", "created_at": "2025-05-30T17:28:42.086435+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.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_bad_device [0.088981s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_343_owner_service_can_read_port [0.069273s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-90a478d4-dcb3-4173-bc4f-511c4693c05f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "ebe30f19-358d-41e1-8d28-fd7357a0164c", "created_at": "2025-05-30T17:28:42.164946+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}
{2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate [0.118238s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_339_chassis_chassis_id_get_admin [0.138084s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-0c223132-6ee9-44f1-88ef-1f6d35783055
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-30T17:28:42.184517+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.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_empty_media_type [0.077683s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_344_lessee_reader_can_read_port [0.085409s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports/43efd54e-d4a8-4789-a632-512f175fc6dc WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-93fcb9cc-d9f8-4b7c-9cac-ab8f4c92bc75
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "43efd54e-d4a8-4789-a632-512f175fc6dc", "created_at": "2025-05-30T17:28:42.252549+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/43efd54e-d4a8-4789-a632-512f175fc6dc", "rel": "self"}, {"href": "http://localhost/ports/43efd54e-d4a8-4789-a632-512f175fc6dc", "rel": "bookmark"}], "portgroup_uuid": null}
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_while_ejecting [0.080864s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_345_third_party_admin_cannot_read_port [0.067215s] ... 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-7e76678b-7b93-4910-8069-f3fc057a1051
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port abfd8dbb-1732-449a-b760-2224035c6b99 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_inspection [0.131442s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_340_chassis_chassis_id_get_member [0.134190s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-e911df38-24f6-44b5-8f90-7e05adcac9d1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-30T17:28:42.334120+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.test_acl.TestRBACProjectScoped.test_project_scoped_346_owner_admin_can_add_ports [0.074843s] ... 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-ac5c188b-a3be-4014-927b-20809aa04283
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__validate_vendor_compatible_with_idrac [0.080270s] ... ok
{2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_inspection_exc [0.101188s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_347_owner_manager_can_add_ports [0.074520s] ... 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-de519053-e378-4b01-beb0-a9da322af47c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_341_chassis_chassis_id_get_reader [0.135575s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-ccce6eb6-10e4-4e04-bf68-7273a11b520b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-30T17:28:42.476548+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.test_acl.TestRBACProjectScoped.test_project_scoped_348_owner_admin_cannot_add_ports_to_other_nodes [0.070531s] ... 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-e4100d25-1ca6-4871-be9a-f391b80e4d25
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_rescue [0.118505s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_349_owner_manager_cannot_add_ports_to_other_nodes [0.072320s] ... 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-09d36b7a-7e73-4836-86d6-899a88eedc2c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_rescue_exc [0.106928s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_342_chassis_chassis_id_patch_admin [0.156294s] ... 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-20ab4fe1-aad6-4a0b-966b-b57d0b9c279d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-30T17:28:42.628413+00:00", "updated_at": "2025-05-30T17:28:42.698912+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.api.test_acl.TestRBACProjectScoped.test_project_scoped_350_owner_service_cannot_add_ports_to_other_nodes [0.071522s] ... 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-4dc13d96-9f6e-44d4-b46d-4df8ae1ff441
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_351_owner_member_cannot_add_port [0.070993s] ... 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-5d4f3ad4-e465-4d50-a509-2a49ccf84f1a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_with_disable_power_off [0.133992s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.RedfishVirtualMediaBootTestCase.test__validate_vendor_incompatible_with_idrac [0.421456s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_343_chassis_chassis_id_patch_member [0.151513s] ... 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-2c95cd74-8f89-4a6b-af16-31823135758c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-30T17:28:42.775436+00:00", "updated_at": "2025-05-30T17:28:42.843884+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.api.test_acl.TestRBACProjectScoped.test_project_scoped_352_lessee_admin_cannot_add_port [0.071641s] ... 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-f82a8b93-f8e7-430f-bdf1-394b8aaedacf
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_353_lessee_manager_cannot_add_port [0.071828s] ... 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-01f331c6-b62c-4eac-a91b-5cecea404ec6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_attach [0.109372s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.RedfishVirtualMediaBootTestCase.test_clean_up_instance_cdrom_and_floppy [0.097474s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_344_chassis_chassis_id_patch_reader [0.142047s] ... 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-652341fa-a800-45f5-908b-1ac5a93f5485
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:update\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_354_lessee_member_cannot_add_port [0.072283s] ... 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-637cd699-8074-46ef-9604-e5c22e6b774b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_instance_only_cdrom [0.074546s] ... ok
{2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_detach [0.117373s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_355_third_party_admin_cannot_add_port [0.072394s] ... 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-04a187aa-cb6c-46b2-84dd-9b4a1c8e03a8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_instance_ramdisk [0.085690s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_345_chassis_chassis_id_delete_admin [0.141830s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT Response: 204 No Content
Openstack-Request-Id: req-f9f4ca41-86c3-4850-8db7-22554176e29a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_356_service_can_add_port [0.071632s] ... 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-04ad617c-d87f-4c74-a93c-4fe193578336
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_list [0.107574s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.RedfishVirtualMediaBootTestCase.test_clean_up_ramdisk [0.071888s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_357_service_cannot_add_ports_to_other_project [0.073458s] ... 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-ffd54b39-db79-432b-a4a7-980b7b880d9d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_everything [0.087673s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_346_chassis_chassis_id_delete_member [0.118141s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-02c44043-597e-424b-bf48-d2c37e4b4311
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_port_changed [0.115046s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_358_owner_admin_can_modify_port [0.086787s] ... 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-185a7944-5b04-4f0f-abc6-a08652d71f0e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_not_inserted [0.087589s] ... ok
{2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_cleaning_network [0.107780s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_359_owner_manager_can_modify_port [0.088373s] ... 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-f39cf0c8-6ed3-468c-8433-73f1da83c1ad
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_specific [0.098304s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_360_owner_service_can_modify_port [0.088718s] ... 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-3c63ceeb-f7f0-4c8f-95e1-d67acbf806d4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_unknown [0.093161s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_361_owner_member_cannot_modify_port [0.068428s] ... 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-21405878-8f54-4ab4-8ee5-c9a868a91db3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_362_lessee_admin_cannot_modify_port [0.068223s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/ports/6c13b565-57fa-4511-bf6f-573d073fbd91 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-099cc555-188d-4441-a5e5-8b1c6fd1a710
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_with_dvd_cisco_ucs [0.089861s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_363_lessee_manager_cannot_modify_port [0.068761s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/ports/ae19bb17-820a-4c1d-a486-ae7116483843 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-c2b867ae-ae38-4e50-84e4-8aa6ec6ab4e5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_deploy_info [0.078628s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_347_chassis_chassis_id_delete_reader [0.486977s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-78fee88c-2950-4430-83cd-2ef49ea7dbc4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_deploy_info_exc [0.066275s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_364_lessee_member_cannot_modify_port [0.103802s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/ports/05cecfe5-72d9-4cc3-817d-386599441945 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-1a6f48cc-4d69-460c-86e5-e99ef5d594f4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_348_chassis_chassis_id_delete_service [0.073203s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-0e4bf7a3-facb-4f3e-a85f-2f622bad5a3f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_choose_by_arch_deploy [0.066308s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_349_node_history_get_admin [0.075705s] ... 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-49b085a9-7e33-4dc0-adb2-250ce93cca63
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"history": [{"uuid": "c2ed5dbe-89d4-430e-bce8-1d9469144ea3", "created_at": "2025-05-30T17:28:43.894880+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/c2ed5dbe-89d4-430e-bce8-1d9469144ea3", "rel": "self"}]}]}
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_choose_by_arch_rescue [0.064245s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_365_third_party_admin_cannot_modify_port [0.145226s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/ports/840e72c4-41c5-4739-bea5-420ff72d4f71 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-afebb55a-bcc8-4ac7-8bab-394253f25280
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 840e72c4-41c5-4739-bea5-420ff72d4f71 could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_choose_by_hierarchy_deploy [0.063795s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_350_node_history_get_member [0.068590s] ... 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-e4d80529-ff00-422c-91c2-b046c7837507
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"history": [{"uuid": "2c736e96-fa12-4c8a-ae77-86f296080c4d", "created_at": "2025-05-30T17:28:43.966821+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/2c736e96-fa12-4c8a-ae77-86f296080c4d", "rel": "self"}]}]}
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_choose_by_hierarchy_missing_param_deploy [0.065143s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_351_node_history_get_reader [0.066619s] ... 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-6fce3490-95b4-4b92-81f2-a76388739426
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"history": [{"uuid": "d840e0ad-6b01-4a95-95d9-bf8d6c8366d1", "created_at": "2025-05-30T17:28:44.035188+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/d840e0ad-6b01-4a95-95d9-bf8d6c8366d1", "rel": "self"}]}]}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_366_owner_admin_can_delete_port [0.138179s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-061a5722-7cce-4e52-8d2c-46bc9d910866
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_choose_by_hierarchy_missing_param_rescue [0.062662s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_352_node_history_get_service [0.067913s] ... 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-d7a7e70a-d1df-4636-ac2d-e855c4a79a16
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"history": [{"uuid": "f24fa5b0-a8c5-4a63-a5ba-7761e235d013", "created_at": "2025-05-30T17:28:44.104965+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/f24fa5b0-a8c5-4a63-a5ba-7761e235d013", "rel": "self"}]}]}
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_choose_by_hierarchy_rescue [0.061555s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_353_node_history_get_entry_admin [0.063698s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/4b0c5707-aae4-40d1-9a3d-dc9f659d333e WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-593ac61a-922a-48fb-aae6-d04a4879b0d2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "4b0c5707-aae4-40d1-9a3d-dc9f659d333e", "created_at": "2025-05-30T17:28:44.171580+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/4b0c5707-aae4-40d1-9a3d-dc9f659d333e", "rel": "self"}]}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_367_owner_manager_can_delete_port [0.139967s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-1acabd5c-d28b-4c33-a07d-5114ba57b1e6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_deploy [0.064879s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_354_node_history_get_entry_member [0.068640s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/14f01033-6b6f-4c8b-bd83-4302a97f2ae5 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-632ebe57-3d74-4fe2-b4d2-722dd0373eb9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "14f01033-6b6f-4c8b-bd83-4302a97f2ae5", "created_at": "2025-05-30T17:28:44.241968+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/14f01033-6b6f-4c8b-bd83-4302a97f2ae5", "rel": "self"}]}
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_exc [0.063280s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_355_node_history_get_entry_reader [0.064733s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/25aa1925-902f-4f94-b54e-a8d49ae2bb77 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-df29da44-d0e2-4b6b-a7c8-db1d7c77626e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "25aa1925-902f-4f94-b54e-a8d49ae2bb77", "created_at": "2025-05-30T17:28:44.308570+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/25aa1925-902f-4f94-b54e-a8d49ae2bb77", "rel": "self"}]}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_368_owner_service_can_delete_port [0.142436s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-56424bbe-9a10-409a-aa39-8a012b27c63c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_from_conf_deploy [0.067196s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_356_node_inventory_get_admin [0.066879s] ... 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-ff6d7cd0-9d7c-4bc2-92d5-953c56623673
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"inventory": {"inventory": "test"}, "plugin_data": {"pdata": {"plugin": "data"}}}
{2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_inspection_network [1.019349s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.RedfishVirtualMediaBootTestCase.test_parse_driver_info_from_conf_deploy_by_arch [0.066995s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_357_node_inventory_get_reader [0.071890s] ... 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-1b5b8eec-9c5c-4e60-9832-80e5cf25140d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"inventory": {"inventory": "test"}, "plugin_data": {"pdata": {"plugin": "data"}}}
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_from_conf_rescue [0.065509s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_369_owner_member_cannot_delete_port [0.139938s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-af03036d-0c09-40df-842d-0e724a869c2c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_provisioning_network [0.107746s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_358_node_history_get_entry_service [0.068312s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/72e1719c-86d6-4924-97bd-708abc8b8ba8 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-c662d420-fcc7-41b1-acf1-3ae7ae6ec213
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "72e1719c-86d6-4924-97bd-708abc8b8ba8", "created_at": "2025-05-30T17:28:44.522636+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/72e1719c-86d6-4924-97bd-708abc8b8ba8", "rel": "self"}]}
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_from_conf_rescue_by_arch [0.065321s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_359_shard_get_shards [0.069010s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/shards WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-0cb0a0f1-c1ed-45a7-b823-7269cf17bd83
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"shards": [{"name": "None", "count": 3}]}
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_iso [0.064336s] ... ok
{2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_configure_tenant_networks [0.123697s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_370_lessee_admin_cannot_delete_port [0.143360s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/ports/5a065fcc-4b66-41ed-a5ea-72851c67cf01 GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-1aeba5d8-c01c-4516-9f48-1ff5e985e6e9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_iso_deprecated [0.065114s] ... ok
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_mixed_source_deploy [0.030689s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_360_shard_patch_set_node_shard [0.120215s] ... 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-ded25fab-d054-4ba6-abb0-663283e5b6c6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_current_vif [0.114908s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.RedfishVirtualMediaBootTestCase.test_parse_driver_info_mixed_source_deploy_by_arch [0.031623s] ... ok
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_mixed_source_rescue [0.030289s] ... ok
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_mixed_source_rescue_by_arch [0.030881s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_371_lessee_manager_cannot_delete_port [0.184858s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/ports/555bd4c4-8b38-4e15-bc32-a8bbcda1c136 GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-398db38d-f565-4ca8-8183-f8007741af5c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_node_network_data [0.087659s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.RedfishVirtualMediaBootTestCase.test_parse_driver_info_ramdisk [0.030917s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_361_shard_patch_set_node_shard_disallowed [0.148764s] ... 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-785438f0-7764-44d6-9f1a-22bd43dd8553
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:shard\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_removable [0.030319s] ... ok
{2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_properties [0.061104s] ... ok
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_removable_deprecated [0.032349s] ... ok
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_rescue [0.030967s] ... ok
{2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_port_changed [0.090480s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.RedfishVirtualMediaBootTestCase.test_prepare_instance_local_boot_option [0.061757s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_372_lessee_member_cannot_delete_port [0.193057s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/ports/b343bd66-6d64-4f15-92ad-be00cbf0179f GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-d8ed7c8e-eacc-409c-9840-0f92303bf6a7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_local_whole_disk_image [0.062249s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_362_parent_node_patch_by_admin [0.210975s] ... 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-6223b8b5-6d44-4481-a7f0-bcdefc01bc5b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_portgroup_changed [0.093413s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.RedfishVirtualMediaBootTestCase.test_prepare_instance_normal_boot [0.078503s] ... ok
{2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_cleaning_network [0.083972s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot [0.060635s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_373_third_party_admin_cannot_delete_port [0.181876s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/ports/d7ef083f-9a25-4931-ae6d-aa4d67a03bcd GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-ecd091a9-e466-48a8-ab9d-437c096bb903
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port d7ef083f-9a25-4931-ae6d-aa4d67a03bcd could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot_iso [0.058680s] ... ok
{2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_inspection_network [0.091416s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_363_parent_node_patch_by_member [0.213836s] ... 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-400a1106-d407-4e4b-89de-d5ad8a0996f7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot_iso_boot [0.059795s] ... ok
{2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_provisioning_network [0.082564s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot_render_configdrive [0.063687s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_374_owner_reader_can_get_node_ports [0.201872s] ... 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-32e32f52-07a9-4137-8ad0-29dc8479fd5c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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"}]}]}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_364_parent_node_patch_by_reader [0.151704s] ... 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-c6ba7ea3-ce85-4347-b90d-ce9b094b7c4c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:parent_node\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_unconfigure_tenant_networks [0.077545s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.network.test_noop.NoopInterfaceTestCase.test_validate [0.086056s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_375_owner_service_can_get_node_ports [0.187164s] ... 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-a92a3159-3ca1-4da8-9ab5-ec3a0f246b5d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_fast_track [0.227723s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_365_nodes_firmware_component_get_admin [0.144965s] ... 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-adad0dd9-a3b2-476f-9f79-e4b629bc749e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"firmware": [{"created_at": "2025-05-30T17:28:45.576074+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.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_attach [0.081279s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.network.test_noop.NoopInterfaceTestCase.test_vif_detach [0.043092s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_fast_track_impossible [0.098950s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.network.test_noop.NoopInterfaceTestCase.test_vif_list [0.045678s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_366_nodes_firmware_component_get_member [0.142447s] ... 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-2a81f486-0b58-4bb2-b973-4f0dc1ab9839
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"firmware": [{"created_at": "2025-05-30T17:28:45.729769+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.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_clean_up_instance_cdrom_and_floppy [0.043394s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_376_lessee_reader_can_get_node_port [0.190375s] ... 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-f76f8535-88db-462f-a4f1-1607cf483aa9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": [{"uuid": "eaf6c246-ee37-4f89-8ffc-a3db25bdd3fc", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/eaf6c246-ee37-4f89-8ffc-a3db25bdd3fc", "rel": "self"}, {"href": "http://localhost/ports/eaf6c246-ee37-4f89-8ffc-a3db25bdd3fc", "rel": "bookmark"}]}]}
{2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_clean_up_instance_only_cdrom [0.035161s] ... ok
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_no_config [0.099245s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.redfish.test_boot.RedfishHTTPBootTestCase.test_clean_up_instance_ramdisk [0.037053s] ... ok
{2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_clean_up_ramdisk [0.036385s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_367_nodes_firmware_component_get_reader [0.141053s] ... 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-ddc3ebaa-0278-4396-b93f-8f71ad147242
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"firmware": [{"created_at": "2025-05-30T17:28:45.872307+00:00", "updated_at": null, "component": "bmc", "initial_version": "v1.0.0", "current_version": "v1.0.0", "last_version_flashed": null}]}
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_no_debug [0.100487s] ... ok
{2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_deploy_info [0.036533s] ... ok
{2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_deploy_info_exc [0.031134s] ... ok
{2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_choose_by_arch_deploy [0.032251s] ... ok
{2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_choose_by_arch_rescue [0.032134s] ... ok
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_with_floppy [0.115638s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-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_368_runbooks_post_admin [0.149490s] ... 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/4533d503-9c54-4ad5-94f1-042b7bfb332f
Openstack-Request-Id: req-fc7e62a4-445a-48c2-ac09-9acf88f299d4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "4533d503-9c54-4ad5-94f1-042b7bfb332f", "created_at": "2025-05-30T17:28:46.060703+00:00", "updated_at": null, "name": "CUSTOM_NAME", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/4533d503-9c54-4ad5-94f1-042b7bfb332f", "rel": "self"}, {"href": "http://localhost/runbooks/4533d503-9c54-4ad5-94f1-042b7bfb332f", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "noop", "args": {}, "order": 0}]}
{2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_choose_by_hierarchy_deploy [0.035732s] ... ok
{2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_choose_by_hierarchy_missing_param_deploy [0.031847s] ... ok
{2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_choose_by_hierarchy_missing_param_rescue [0.032280s] ... ok
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_with_params [0.113106s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_choose_by_hierarchy_rescue [0.034221s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_369_runbooks_post_member [0.147287s] ... 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/22ca2e29-8de3-4600-9714-b878aed7cb98
Openstack-Request-Id: req-8d64199b-6e83-4f8a-bc8b-703d0e4af088
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "22ca2e29-8de3-4600-9714-b878aed7cb98", "created_at": "2025-05-30T17:28:46.209965+00:00", "updated_at": null, "name": "CUSTOM_NAME", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/22ca2e29-8de3-4600-9714-b878aed7cb98", "rel": "self"}, {"href": "http://localhost/runbooks/22ca2e29-8de3-4600-9714-b878aed7cb98", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "noop", "args": {}, "order": 0}]}
{2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_deploy [0.068180s] ... ok
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_with_usb [0.105648s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_exc [0.068027s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_370_runbooks_post_reader [0.128308s] ... 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-901f41b7-c173-40ca-a784-ceb8f6fc9d6d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:create\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_boot_iso [0.080277s] ... ok
{2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_from_conf_deploy [0.070253s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_371_runbooks_get_admin [0.064128s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/runbooks WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-1af73789-d480-4781-99c9-47599e523e10
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"runbooks": [{"uuid": "fc20a8ad-971b-4c51-aed7-7af85eaaf414", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/runbooks/fc20a8ad-971b-4c51-aed7-7af85eaaf414", "rel": "self"}, {"href": "http://localhost/runbooks/fc20a8ad-971b-4c51-aed7-7af85eaaf414", "rel": "bookmark"}]}]}
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_correct_vendor [0.077302s] ... ok
{2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_from_conf_deploy_by_arch [0.068645s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_372_runbooks_get_member [0.064299s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/runbooks WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-19f985ef-cd0f-4a43-8ad6-071caafd26cd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"runbooks": [{"uuid": "4fb299c3-0e8f-4c5d-98af-470e02b6db4a", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/runbooks/4fb299c3-0e8f-4c5d-98af-470e02b6db4a", "rel": "self"}, {"href": "http://localhost/runbooks/4fb299c3-0e8f-4c5d-98af-470e02b6db4a", "rel": "bookmark"}]}]}
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_inspection [0.074275s] ... ok
{2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_from_conf_rescue [0.072206s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_373_runbooks_get_reader [0.060349s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/runbooks WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-a380a5c2-8b43-44e6-ad8d-2fcdbdc9a07a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"runbooks": [{"uuid": "a484a6d0-d1a8-48cf-b4b9-835bcd457b43", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/runbooks/a484a6d0-d1a8-48cf-b4b9-835bcd457b43", "rel": "self"}, {"href": "http://localhost/runbooks/a484a6d0-d1a8-48cf-b4b9-835bcd457b43", "rel": "bookmark"}]}]}
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_inspection_missing [0.063576s] ... ok
{2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_from_conf_rescue_by_arch [0.070365s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_374_runbooks_runbook_id_get_admin [0.060507s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/runbooks/6e23d941-017f-4812-babd-dc57860b535d WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-1eb90bfc-142b-46f5-a48b-35c436e47265
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6e23d941-017f-4812-babd-dc57860b535d", "created_at": "2025-05-30T17:28:46.584075+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/6e23d941-017f-4812-babd-dc57860b535d", "rel": "self"}, {"href": "http://localhost/runbooks/6e23d941-017f-4812-babd-dc57860b535d", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_kernel_ramdisk [0.070962s] ... ok
{2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_iso [0.064707s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_375_runbooks_runbook_id_get_member [0.122252s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/runbooks/9fea30eb-5e0c-4384-85a0-cfc1d9a0dbf3 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-60b7d1c2-3ddf-48df-907c-ae0e6bc43664
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "9fea30eb-5e0c-4384-85a0-cfc1d9a0dbf3", "created_at": "2025-05-30T17:28:46.701359+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/9fea30eb-5e0c-4384-85a0-cfc1d9a0dbf3", "rel": "self"}, {"href": "http://localhost/runbooks/9fea30eb-5e0c-4384-85a0-cfc1d9a0dbf3", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
{2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_mixed_source_deploy [0.066990s] ... ok
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_local [0.072796s] ... ok
{2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_mixed_source_deploy_by_arch [0.065447s] ... ok
{0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_missing [0.072571s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_376_runbooks_runbook_id_get_reader [0.130911s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/runbooks/daa23f49-382c-4b26-8b7e-864529bb6173 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-d5d92c8a-01d6-43da-bd60-ae715465367a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "daa23f49-382c-4b26-8b7e-864529bb6173", "created_at": "2025-05-30T17:28:46.826939+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/daa23f49-382c-4b26-8b7e-864529bb6173", "rel": "self"}, {"href": "http://localhost/runbooks/daa23f49-382c-4b26-8b7e-864529bb6173", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
{2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_mixed_source_rescue [0.065214s] ... ok
{0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_power_state [0.072436s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_377_third_party_admin_cannot_get_ports [1.114719s] ... 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-8154bbe6-1690-40a0-b37c-961883905978
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_mixed_source_rescue_by_arch [0.066606s] ... ok
{0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_properties [0.067791s] ... ok
{2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_ramdisk [0.064763s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_377_runbooks_runbook_id_patch_admin [0.175099s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/3b68470a-93f5-49e4-938d-4aa1f4c75744 WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_NAME'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-e72bf7de-2055-4d5f-af6c-4050103ef097
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "3b68470a-93f5-49e4-938d-4aa1f4c75744", "created_at": "2025-05-30T17:28:46.955492+00:00", "updated_at": "2025-05-30T17:28:47.010765+00:00", "name": "CUSTOM_NAME", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/3b68470a-93f5-49e4-938d-4aa1f4c75744", "rel": "self"}, {"href": "http://localhost/runbooks/3b68470a-93f5-49e4-938d-4aa1f4c75744", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
{0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_supported_power_states [0.072571s] ... ok
{2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_rescue [0.064406s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_378_service_cannot_get_ports [0.169944s] ... 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-d2f756a7-609d-4880-926e-364d0010ff70
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_fail [0.133339s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.redfish.test_boot.RedfishHTTPBootTestCase.test_prepare_instance_local_boot_option [0.125818s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_378_runbooks_runbook_id_patch_member [0.170945s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/dc2fdd92-a549-469a-8130-1f3d3b99acef WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_NAME'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-4fa66f32-e40d-47d4-a6b6-b9eabfb5546a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "dc2fdd92-a549-469a-8130-1f3d3b99acef", "created_at": "2025-05-30T17:28:47.128351+00:00", "updated_at": "2025-05-30T17:28:47.183816+00:00", "name": "CUSTOM_NAME", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/dc2fdd92-a549-469a-8130-1f3d3b99acef", "rel": "self"}, {"href": "http://localhost/runbooks/dc2fdd92-a549-469a-8130-1f3d3b99acef", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
{0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_fail_on_power_on [0.100384s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_379_owner_reader_can_get_ports_by_portgroup [0.191780s] ... 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-2c165228-a995-4660-8f8a-42581a3934f9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": []}
{0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_from_power_off [0.041488s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.redfish.test_boot.RedfishHTTPBootTestCase.test_prepare_instance_local_whole_disk_image [0.129328s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_379_runbooks_runbook_id_patch_reader [0.134138s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/f39e9b88-bef0-4199-8e4f-b7937aebe950 WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_NAME'}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-f868a9f5-5f46-43fa-9965-98397269f4e3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:update\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_from_power_off_with_disable_power_off [0.043771s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_power.RedfishPowerTestCase.test_reboot_from_power_on [0.044568s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_power.RedfishPowerTestCase.test_reboot_from_power_on_with_disable_power_off [0.040962s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_380_owner_service_cam_get_ports_by_portgroup [0.197199s] ... 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-1a092a6e-1da5-43b1-906e-efbebfbc98d2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": []}
{0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_not_reached [0.041329s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.redfish.test_boot.RedfishHTTPBootTestCase.test_prepare_instance_normal_boot [0.175270s] ... ok
{0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state [0.044877s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_power.RedfishPowerTestCase.test_set_power_state_fail [0.061120s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.redfish.test_boot.RedfishHTTPBootTestCase.test_prepare_instance_ramdisk_boot [0.149684s] ... ok
{0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state_not_reached [0.086487s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_381_lessee_reader_can_get_ports_by_portgroup [0.198468s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups/59247b8d-95e1-43d6-b89c-cfd918a10bd4/ports WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-ed5589ff-c1bd-450b-b01c-70d1386f9d1e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"ports": []}
{0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_validate [0.079688s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_380_runbooks_runbook_id_patch_public_admin [0.503681s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/ed4a07f2-e808-47e9-981c-39622942bf94 WITH [{'op': 'replace', 'path': '/public', 'value': True}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-4bea5b4a-1690-4963-bb4a-8648504dc6e3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "ed4a07f2-e808-47e9-981c-39622942bf94", "created_at": "2025-05-30T17:28:47.437708+00:00", "updated_at": "2025-05-30T17:28:47.822683+00:00", "name": "CUSTOM_DT1", "extra": {}, "public": true, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/ed4a07f2-e808-47e9-981c-39622942bf94", "rel": "self"}, {"href": "http://localhost/runbooks/ed4a07f2-e808-47e9-981c-39622942bf94", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
{0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_auth_auto [0.124845s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_382_third_party_admin_cannot_get_ports_by_portgroup [0.229617s] ... 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-5ed2e9d7-afd1-491c-b7ee-a542aefd5068
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 5810f41c-6585-41fc-b9c9-a94f50d421b5 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_381_runbooks_runbook_id_patch_public_member [0.179990s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/823d2d78-3bae-4931-be5f-2e0f9165d199 WITH [{'op': 'replace', 'path': '/public', 'value': True}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-2aed51f8-4332-46f5-82cf-ff6975bb5591
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "823d2d78-3bae-4931-be5f-2e0f9165d199", "created_at": "2025-05-30T17:28:47.950096+00:00", "updated_at": "2025-05-30T17:28:48.008755+00:00", "name": "CUSTOM_DT1", "extra": {}, "public": true, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/823d2d78-3bae-4931-be5f-2e0f9165d199", "rel": "self"}, {"href": "http://localhost/runbooks/823d2d78-3bae-4931-be5f-2e0f9165d199", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
{0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_auth_basic [0.141474s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_383_service_cannot_get_ports_by_portgroup [0.190523s] ... 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-4c7481df-38b3-43b2-91a6-565cf80f5870
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 5810f41c-6585-41fc-b9c9-a94f50d421b5 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_prepare_instance_ramdisk_boot_iso [0.466876s] ... ok
{0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_auth_session [0.104273s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_382_runbooks_runbook_id_patch_public_reader [0.133455s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/a4b485c9-776b-4480-b5cf-59a8eafe6f92 WITH [{'op': 'replace', 'path': '/public', 'value': True}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-345d483a-0454-44d5-afd2-ddba15481807
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:update:public\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_prepare_instance_ramdisk_boot_iso_boot [0.103157s] ... ok
{0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_disabled_sessions_cache [0.100744s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_384_owner_reader_can_list_volume_connectors [0.158155s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-68dfda51-1488-4cec-8f0c-8adbd876de97
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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": "6c0d98b2-0b85-447b-9207-006966bcb95c", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/6c0d98b2-0b85-447b-9207-006966bcb95c", "rel": "self"}, {"href": "http://localhost/volume/connectors/6c0d98b2-0b85-447b-9207-006966bcb95c", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]}
{2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_prepare_instance_ramdisk_boot_render_configdrive [0.065198s] ... ok
{2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_prepare_ramdisk_fast_track [0.044997s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.redfish.test_boot.RedfishHTTPBootTestCase.test_prepare_ramdisk_no_debug [0.048334s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_383_runbooks_runbook_id_patch_owner_admin [0.217638s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/0bc30b5a-0389-4d24-9586-29e7f3db540d WITH [{'op': 'replace', 'path': '/owner', 'value': 'new_owner'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-22e93100-2102-4d48-ad28-62ef9882c98f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "0bc30b5a-0389-4d24-9586-29e7f3db540d", "created_at": "2025-05-30T17:28:48.294668+00:00", "updated_at": "2025-05-30T17:28:48.370676+00:00", "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": "new_owner", "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/0bc30b5a-0389-4d24-9586-29e7f3db540d", "rel": "self"}, {"href": "http://localhost/runbooks/0bc30b5a-0389-4d24-9586-29e7f3db540d", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_385_lessee_reader_can_list_volume_connectors [0.153899s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-3928e031-44c8-4df1-97a8-92a4e93fb4b8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"connectors": [{"uuid": "a762433e-16a4-497f-8925-eae9cf657754", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/a762433e-16a4-497f-8925-eae9cf657754", "rel": "self"}, {"href": "http://localhost/volume/connectors/a762433e-16a4-497f-8925-eae9cf657754", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]}
{2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_prepare_ramdisk_with_params [0.053178s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.redfish.test_boot.RedfishHTTPBootTestCase.test_validate_boot_iso [0.034302s] ... ok
{2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_validate_correct_vendor [0.033231s] ... ok
{2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_validate_errors_with_lack_of_support [0.031937s] ... ok
{2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_validate_inspection [0.031796s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_384_runbooks_runbook_id_patch_owner_member [0.178039s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/1b20d770-12f4-4096-9845-45a7760991ab WITH [{'op': 'replace', 'path': '/owner', 'value': 'new_owner'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-2b213b03-c65c-4103-9576-122c4434a20e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1b20d770-12f4-4096-9845-45a7760991ab", "created_at": "2025-05-30T17:28:48.492521+00:00", "updated_at": "2025-05-30T17:28:48.556539+00:00", "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": "new_owner", "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/1b20d770-12f4-4096-9845-45a7760991ab", "rel": "self"}, {"href": "http://localhost/runbooks/1b20d770-12f4-4096-9845-45a7760991ab", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_386_third_party_admin_cannot_get_connector_list [0.154887s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-5605e21e-82be-4d0e-a6da-49ac25c3fcfa
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"connectors": []}
{2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_validate_kernel_ramdisk [0.033624s] ... ok
{2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_validate_local [0.033439s] ... ok
{2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_validate_missing [0.032073s] ... ok
{2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_create_port_when_its_state_is_none [0.047919s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_385_runbooks_runbook_id_patch_owner_reader [0.145764s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/5904b19b-fb3f-4ac0-9e8c-8cdc5ea48b81 WITH [{'op': 'replace', 'path': '/owner', 'value': 'new_owner'}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-5ce940da-2b89-4686-b152-5ce2889791ff
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:update:owner\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_387_owner_admin_can_post_volume_connector [0.159089s] ... 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/b4b5a309-f45b-4ed1-a853-30911bf1275f
Openstack-Request-Id: req-684bcefd-8d18-45c6-b498-5000744cda6c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "b4b5a309-f45b-4ed1-a853-30911bf1275f", "created_at": "2025-05-30T17:28:48.730877+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/b4b5a309-f45b-4ed1-a853-30911bf1275f", "rel": "self"}, {"href": "http://localhost/volume/connectors/b4b5a309-f45b-4ed1-a853-30911bf1275f", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"}
{2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_get_properties [0.031248s] ... ok
{0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_basic_session_caching [0.491692s] ... ok
{2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_get_pxe_port_macs [0.030978s] ... ok
{2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_fail_missing_cpu_arch [0.035417s] ... ok
{0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_new_session_address [0.092361s] ... ok
{2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_fail_missing_memory_mb [0.035580s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_386_runbooks_runbook_id_delete_admin [0.139468s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/runbooks/a92da1bc-4949-498c-8f48-b8c954dd750d GOT Response: 204 No Content
Openstack-Request-Id: req-2e9941a0-a27c-43f0-a0b3-b8260516b3ef
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_388_owner_manager_can_post_volume_connector [0.152971s] ... 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/f75bff81-5a0d-41ad-a737-7dcc0cb8a433
Openstack-Request-Id: req-11bb7608-d266-4819-82ed-dd33c748b3f0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "f75bff81-5a0d-41ad-a737-7dcc0cb8a433", "created_at": "2025-05-30T17:28:48.880889+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/f75bff81-5a0d-41ad-a737-7dcc0cb8a433", "rel": "self"}, {"href": "http://localhost/volume/connectors/f75bff81-5a0d-41ad-a737-7dcc0cb8a433", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"}
{2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_boot_mode [0.047879s] ... ok
{2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_cpu_count [0.046355s] ... ok
{0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_new_session_password [0.124732s] ... ok
{2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_cpu_frequency [0.050289s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_387_runbooks_runbook_id_delete_member [0.139214s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/runbooks/15649261-41e5-4787-a414-93135fad01f5 GOT Response: 204 No Content
Openstack-Request-Id: req-069faf7a-1bd0-463e-93fc-a6c887e08a59
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_cpu_instruction_set [0.046667s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_389_owner_service_can_post_volume_connector [0.159535s] ... 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/7ab6de47-c55e-4225-b922-4825dba48f84
Openstack-Request-Id: req-2774e14d-7845-49b3-803e-a393a22d8a03
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "7ab6de47-c55e-4225-b922-4825dba48f84", "created_at": "2025-05-30T17:28:49.044377+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/7ab6de47-c55e-4225-b922-4825dba48f84", "rel": "self"}, {"href": "http://localhost/volume/connectors/7ab6de47-c55e-4225-b922-4825dba48f84", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"}
{0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_new_session_username [0.100820s] ... ok
{2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_cpu_model [0.045947s] ... ok
{2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_cpus [0.049781s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_388_runbooks_runbook_id_delete_reader [0.140125s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/runbooks/8c3c0cec-0c7a-4dfa-99ac-149b429ab164 GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-aa1d8d26-bd8c-4fb5-9115-2a0999a28a09
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:delete\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_session_reuse [0.101285s] ... ok
{2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_local_gb [0.046576s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_390_lessee_admin_cannot_post_volume_connector [0.155680s] ... 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-c1489062-6fa6-4224-938b-c1d07dc4e451
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_memory_mb [0.046537s] ... ok
{2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_nics [0.046351s] ... ok
{0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_expire_old_sessions [0.108917s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_389_runbooks_post_project_admin [0.168996s] ... 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/24127784-197d-433c-9d6d-17a9724ed68e
Openstack-Request-Id: req-b822b63b-c3d4-4be8-a891-abbcec20094f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "24127784-197d-433c-9d6d-17a9724ed68e", "created_at": "2025-05-30T17:28:49.316237+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/24127784-197d-433c-9d6d-17a9724ed68e", "rel": "self"}, {"href": "http://localhost/runbooks/24127784-197d-433c-9d6d-17a9724ed68e", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "noop", "args": {}, "order": 0}]}
{2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_simple_storage [0.046739s] ... ok
{0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_event_service [0.048968s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_391_lessee_manager_cannot_post_volume_connector [0.160450s] ... 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-b52bfef5-743a-40a9-898b-bfad3ea9f68c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_event_service_error [0.049842s] ... ok
{2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_simple_storage_and_storage [0.071659s] ... ok
{2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_storage [0.047686s] ... ok
{0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_system_collection [0.050353s] ... ok
{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_390_public_runbooks_post_admin [0.167949s] ... 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/8f3e5e30-d532-4cd1-9cbd-5a5c038e9a9b
Openstack-Request-Id: req-03399d6e-e50d-4929-99bb-0a4f58c84542
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "8f3e5e30-d532-4cd1-9cbd-5a5c038e9a9b", "created_at": "2025-05-30T17:28:49.495405+00:00", "updated_at": null, "name": "CUSTOM_NAME", "extra": {}, "public": true, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/8f3e5e30-d532-4cd1-9cbd-5a5c038e9a9b", "rel": "self"}, {"href": "http://localhost/runbooks/8f3e5e30-d532-4cd1-9cbd-5a5c038e9a9b", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "noop", "args": {}, "order": 0}]}
{0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_system_collection_error [0.054154s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_392_third_party_admin_cannot_post_volume_connector [0.140581s] ... 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-e8f5e464-4ea3-4dee-a002-1e7fa50b1840
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_system_vendor [0.097011s] ... ok
{3} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_disable_audit_request [0.054862s] ... ok
{0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_task_monitor [0.054431s] ... ok
{3} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_enable_audit_request [0.054862s] ... ok
{0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_task_monitor_error [0.052173s] ... ok
{2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ok [0.092560s] ... ok
{3} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_enable_audit_request_error [0.057883s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_393_service_admin_cannot_post_volume_connector [0.152215s] ... 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-4a505d98-ece4-4a7e-addf-102cb7e06359
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_update_service [0.057095s] ... ok
{3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success [0.055658s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET / WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-88cb5be8-0f1f-4e9a-9b46-3955a80bbbb9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_update_service_error [0.048983s] ... ok
{3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault [0.053195s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET / WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-c2616ce6-a1fc-4ec4-809d-62db85945f28
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info [0.055719s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_394_owner_reader_can_get_volume_connector [0.154592s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors/d159d715-33f3-4b31-b49e-d37682fa6322 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-cac8f58a-79db-4f43-b5a0-815ff0835e18
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "d159d715-33f3-4b31-b49e-d37682fa6322", "created_at": "2025-05-30T17:28:49.763632+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/d159d715-33f3-4b31-b49e-d37682fa6322", "rel": "self"}, {"href": "http://localhost/volume/connectors/d159d715-33f3-4b31-b49e-d37682fa6322", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}
{3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault_debug [0.057556s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET / WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-79b7aa0b-2948-476b-836f-b854d8bcd6d9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme [0.045304s] ... ok
{0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme_ipv6_brackets_added [0.038998s] ... ok
{3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault_debug_tracebacks [0.058122s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET / WITH {} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-1aa1a041-fb7a-4a75-bfe5-16af1cb006ef
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme_with_port [0.053496s] ... ok
{3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault [0.054575s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET / WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-77e7e18c-80b2-4a48-9a44-3b368adee8f4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_395_lessee_reader_can_get_volume_connector [0.159760s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors/46707a2c-d05d-4b57-9169-49d32ee83c85 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-fa9f5de9-e822-40c1-a5db-d3b61ea248b5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "46707a2c-d05d-4b57-9169-49d32ee83c85", "created_at": "2025-05-30T17:28:49.910152+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/46707a2c-d05d-4b57-9169-49d32ee83c85", "rel": "self"}, {"href": "http://localhost/volume/connectors/46707a2c-d05d-4b57-9169-49d32ee83c85", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}
{0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_address [0.049620s] ... ok
{3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug [0.055341s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET / WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-0eac13a5-049c-45be-abba-3008cc03a079
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_auth_type [0.048294s] ... ok
{3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug_tracebacks [0.056208s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET / WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-ec288c4e-0078-4d01-8d34-3a7b9faedd51
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.dev140/ironic/api/method.py\\\", line 42, in callfunction\\n    result = f(self, *args, **kwargs)\\n\\n  File \\\"/builddir/build/BUILD/ironic-29.1.0.dev140/ironic/api/controllers/root.py\\\", line 44, in index\\n    return root()\\n\\n  File \\\"<string>\\\", 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\"}"}
{2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_preserve_boot_mode [0.440040s] ... ok
{0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_string_value_verify_ca [0.051220s] ... ok
{3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_remote_error_success [0.053355s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET / WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-bdd7bd4b-0bb2-4117-85fd-59fa334ec67e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_396_third_party_admin_cannot_get_volume_connector [0.145276s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors/10c8b233-23c5-458f-816e-55db196261b0 WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-c6d12098-41bd-4686-9602-0762448b8db0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 10c8b233-23c5-458f-816e-55db196261b0 could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_system_id [0.048714s] ... ok
{3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback [0.059453s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET / WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-f812bd59-30e9-44b2-82fe-04fcd363d38f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_empty_pxe_port_macs [0.117856s] ... ok
{0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_value_verify_ca [0.048912s] ... ok
{3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback_debug [0.051397s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET / WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-7dc1a82a-c8b3-40d1-bacb-a3b0a0974f9e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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}"}
{0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_missing_info [0.051601s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_397_lessee_member_cannot_patch_volume_connectors_extra [0.149728s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/connectors/8cf37ebb-d76e-43d5-95fa-5a73ba12b2a5 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-9ccd0971-6197-4746-a906-57718dc671af
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback_debug_tracebacks [0.055605s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET / WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-b4fb9430-c65b-43f6-9930-95f6ad450ea1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.dev140/ironic/api/method.py\\\", line 42, in callfunction\\n    result = f(self, *args, **kwargs)\\n\\n  File \\\"/builddir/build/BUILD/ironic-29.1.0.dev140/ironic/api/controllers/root.py\\\", line 44, in index\\n    return root()\\n\\n  File \\\"<string>\\\", 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\"}"}
{2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_no_mac [0.108941s] ... ok
{0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_missing_system_id [0.053162s] ... ok
{3} ironic.tests.unit.api.test_hooks.TestPublicUrlHook.test_before_host_url [0.051019s] ... ok
{0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_path_verify_ca [0.052787s] ... ok
{3} ironic.tests.unit.api.test_hooks.TestPublicUrlHook.test_before_public_endpoint [0.064894s] ... ok
{0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_auth_type [0.057768s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_398_owner_admin_can_patch_volume_connectors [0.165117s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/connectors/2b8fa96b-5f5a-4db0-b525-b51c5a7551dd WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-689b7d89-d14e-45b9-b914-f85b351e2a4e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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_none_pxe_port_macs [0.134999s] ... ok
{3} ironic.tests.unit.api.test_middleware.TestBasicAuthMiddleware.test_authenticated [0.060710s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-f39a3194-6f17-4ad5-bf07-37fc1923eb17
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.1
{"chassis": []}
{0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_capath [0.054828s] ... ok
{3} ironic.tests.unit.api.test_middleware.TestBasicAuthMiddleware.test_not_authenticated [0.049236s] ... 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.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_string_value_verify_ca [0.053817s] ... ok
{2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_set_port_pxe_disabled [0.113307s] ... ok
{3} ironic.tests.unit.api.test_middleware.TestBasicAuthMiddleware.test_public_unauthenticated [0.048557s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-c1699730-484f-4a8b-a9fd-1018b05925bc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.99"}}
{0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_with_root_prefix [0.055103s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_399_owner_manager_can_patch_volume_connectors [0.171159s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/connectors/b92cb620-b3c2-4c3a-8110-e95fdaf9707e WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-cf22a6d8-b33d-4144-a54b-2dd52f159a8d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_22_root [0.049572s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-35f3eaea-2e90-45e7-9d52-8a2753cd7bb8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.99"}, "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.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_set_port_pxe_enabled [0.113430s] ... ok
{0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final [0.085053s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_23_root [0.054228s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-02343951-4f05-4a65-94a5-30c46cf00bfd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.99"}, "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"}]}
{3} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_32_root [0.046453s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-1176a661-4480-463b-8e15-9ec45246dab4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.99"}, "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.test_agent.AgentRAIDTestCase.test__create_configuration_final_bad_command_result [0.092058s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.redfish.test_inspect.RedfishInspectTestCase.test_inspect_port_creation [0.095047s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_400_lessee_admin_cannot_patch_volume_connectors [0.175497s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/connectors/b26a1335-06ea-468a-bce1-b19adee00b59 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-58dd8a03-5829-42b7-b1bc-4af6b3e009f7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_root [0.046284s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-a468d657-f313-4b92-825d-1b0a7f203b44
X-Openstack-Ironic-Api-Maximum-Version: 1.99
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.99"}}
{3} ironic.tests.unit.api.validation.test_validators.TestSchemaValidator.test_datetime_format [0.039641s] ... ok
{2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_validate [0.069087s] ... ok
{0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_bad_command_result2 [0.086962s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{3} ironic.tests.unit.api.validation.test_validators.TestSchemaValidator.test_uuid_format [0.047705s] ... ok
{2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_create_subscription [0.074016s] ... ok
{3} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema [0.052174s] ... ok
{0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_registered_clean [0.087075s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_401_lessee_manager_can_patch_volume_connectors [0.178417s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/connectors/9644e80e-7cb8-4ce4-9ffe-b9fcb9c29e0c WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-8f191102-f605-4618-9269-65ad27e38c8b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema_needs_args [0.054516s] ... ok
{2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_delete_subscription [0.066344s] ... ok
{3} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema_needs_kwargs [0.059631s] ... ok
{0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_registered_deploy [0.083896s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.redfish.test_vendor.RedfishVendorPassthruTestCase.test_eject_vmedia_all [0.064408s] ... ok
{3} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema_needs_mixed [0.057793s] ... ok
{2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_eject_vmedia_cd [0.069893s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_402_owner_member_can_patch_volume_connectors [0.178647s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/connectors/fecb32cc-b205-425f-96f3-9822d1b2e360 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-9dbcd202-5fa0-4c0d-8c27-8da1ec4dac64
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__delete_configuration_final [0.105657s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.redfish.test_vendor.RedfishVendorPassthruTestCase.test_get_all_subscriptions [0.042896s] ... ok
{3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes [0.092217s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.redfish.test_vendor.RedfishVendorPassthruTestCase.test_get_all_subscriptions_empty [0.037254s] ... ok
{2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_get_subscription_does_not_exist [0.035332s] ... ok
{0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__delete_configuration_final_registered [0.113932s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.redfish.test_vendor.RedfishVendorPassthruTestCase.test_get_subscription_exists [0.037129s] ... ok
{3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_attach_record_failure [0.090977s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_403_lessee_member_cannot_patch_volume_connectors [0.166882s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/connectors/460eb77d-c8b4-4171-8570-3af5008f5f96 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-750265c8-7146-4ee0-8fcc-fb9244401a5d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_invalid_delete_subscription [0.037561s] ... ok
{2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_validate_invalid_create_subscription [0.032811s] ... ok
{0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_apply_configuration [0.095117s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.redfish.test_vendor.RedfishVendorPassthruTestCase.test_validate_invalid_delete_subscription [0.032010s] ... ok
{3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_attach_set_meta_failure [0.108226s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.redfish.test_vendor.RedfishVendorPassthruTestCase.test_validate_invalid_dev [0.037036s] ... ok
{0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration [0.093322s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_404_third_party_admin_cannot_patch_volume_connectors [0.159744s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/connectors/2bc6687b-ed3b-4d9c-9b84-ca5c54467cbc WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-79c31f40-ee94-4fef-808b-5dff82d6a3d4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 2bc6687b-ed3b-4d9c-9b84-ca5c54467cbc could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__fail_validation [0.045547s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_cinder.TestCinderActions.test_attach_volumes_conn_init_failure [0.080853s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_cinder.CinderInterfaceTestCase.test__generate_connector_iscsi [0.041197s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.AgentRAIDTestCase.test_create_configuration_empty_target_raid_config [0.103489s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_cinder.CinderInterfaceTestCase.test__generate_connector_iscsi_and_unknown [0.046610s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_cinder.TestCinderActions.test_attach_volumes_initialize_connection_failure [0.078310s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_cinder.CinderInterfaceTestCase.test__generate_connector_multiple_fc_wwns [0.042093s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_405_owner_admin_can_delete_volume_connectors [0.160708s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/connectors/f224506b-071a-4fc7-a011-63ab80f73299 GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-6371fd06-1028-47cb-91aa-3d7a3bf03bc1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_no_target_raid_config_after_skipping [0.092333s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_cinder.CinderInterfaceTestCase.test__generate_connector_raises_with_insufficient_data [0.047064s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_cinder.CinderInterfaceTestCase.test__generate_connector_single_path [0.038861s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.AgentRAIDTestCase.test_create_configuration_skip_nonroot [0.090368s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_cinder.CinderInterfaceTestCase.test__generate_connector_unknown_raises_excption [0.044166s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_406_owner_manager_can_delete_volume_connectors [0.156073s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/connectors/9a29e2e4-d0c5-4dd8-992e-b369664c63c7 GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-8667d456-4007-45b5-aef9-f2cc5f204702
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_called_with_target_and_connector [0.053583s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.AgentRAIDTestCase.test_create_configuration_skip_root [0.090858s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_cinder.CinderInterfaceTestCase.test_attach_detach_volumes_fails_without_connectors [0.043431s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_cinder.CinderInterfaceTestCase.test_attach_detach_volumes_no_volumes [0.043595s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.AgentRAIDTestCase.test_delete_configuration [0.090312s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_407_owner_service_can_delete_volume_connectors [0.153581s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/connectors/cde148e4-5ced-40cf-84c7-0fa5c894ccc3 GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-fde7003f-a91b-4577-9e64-5fbe177a7cba
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_volumes_failure [0.052545s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_cinder.TestCinderActions.test_attach_volumes_one_attached [0.411241s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_cinder.CinderInterfaceTestCase.test_attach_volumes_failure_no_attach_error [0.050984s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.AgentRAIDTestCase.test_get_clean_steps [0.092050s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_cinder.CinderInterfaceTestCase.test_detach_volumes_failure [0.049410s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_cinder.TestCinderActions.test_attach_volumes_reserve_failure [0.087064s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_408_lessee_admin_can_delete_volume_connectors [0.159675s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/connectors/cab1e773-8022-45fb-a114-a87c08930d5f GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-c5af87a1-7728-4d92-bc1e-b521dda4cd43
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_clean_steps_config_priority [0.093733s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_cinder.TestCinderActions.test_attach_volumes_vol_not_found [0.097392s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.AgentRAIDTestCase.test_get_deploy_steps [0.085647s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_409_lessee_manager_can_delete_volume_connectors [0.150447s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/connectors/0b0c7b24-a9dc-4f40-b61b-8dd6fb434218 GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-cd0200a5-905b-4e73-a6a5-d9eafd668e21
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes [0.093865s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_cinder.CinderInterfaceTestCase.test_detach_volumes_failure_raises_exception [0.217842s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.PrepareInstanceToBootTest.test_prepare_instance_to_boot [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.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_should_write_image [0.054143s] ... ok
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.common.test_cinder.TestCinderActions.test_detach_volumes_begin_detaching_failure [0.091546s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_cinder.CinderInterfaceTestCase.test_validate_fail_on_unknown_volume_types [0.053007s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_410_third_party_admin_cannot_delete_volume_connector [0.152535s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/connectors/3be9e7a4-7ff9-4f4c-9de8-9b3ddc54c907 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-cad00a36-4757-4c3e-a39b-4653cfb9b434
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 3be9e7a4-7ff9-4f4c-9de8-9b3ddc54c907 could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.test_agent.PrepareInstanceToBootTest.test_prepare_instance_to_boot_configure_fails [0.104481s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_cinder.CinderInterfaceTestCase.test_validate_fails_fc_conn_iscsi_target [0.054246s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_cinder.TestCinderActions.test_detach_volumes_conn_init_failure_bad_request [0.091494s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_cinder.CinderInterfaceTestCase.test_validate_fails_iscsi_conn_fc_target [0.053262s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.PrepareInstanceToBootTest.test_prepare_instance_to_boot_localboot_prep_partition [0.102600s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_cinder.CinderInterfaceTestCase.test_validate_fails_when_fc_connectors_unequal [0.046223s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_411_service_cannot_delete_volume_connector [0.155134s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/connectors/b90d1792-d7e6-43fb-8aea-9910ad786b17 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-7d7d2930-2209-44ff-9b01-7a5fd4264596
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector b90d1792-d7e6-43fb-8aea-9910ad786b17 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_failure_errors_allowed [0.090175s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_cinder.CinderInterfaceTestCase.test_validate_fails_with_ipxe_not_enabled [0.056687s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.TearDownAgentTest.test_tear_down_agent [0.112903s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_cinder.CinderInterfaceTestCase.test_validate_failure_if_fc_boot_no_connectors [0.049572s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_cinder.TestCinderActions.test_detach_volumes_detach_failure_errors_not_allowed [0.088661s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_cinder.CinderInterfaceTestCase.test_validate_failure_if_iscsi_boot_no_connectors [0.049990s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_cinder.TestCinderActions.test_detach_volumes_detach_meta_failure_errors_not_allowed [0.088130s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.TearDownAgentTest.test_tear_down_agent_disable_power_off [0.124503s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_cinder.CinderInterfaceTestCase.test_validate_success_connectors_and_boot [0.058589s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_cinder.CinderInterfaceTestCase.test_validate_success_fc_connectors [0.047624s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_cinder.TestCinderActions.test_detach_volumes_one_detached [0.103280s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_cinder.CinderInterfaceTestCase.test_validate_success_fc_targets [0.054538s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_cinder.CinderInterfaceTestCase.test_validate_success_iscsi_connector [0.047114s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_cinder.TestCinderActions.test_detach_volumes_term_failure [0.092526s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_cinder.CinderInterfaceTestCase.test_validate_success_iscsi_targets [0.052491s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_cinder.CinderInterfaceTestCase.test_validate_success_no_settings [0.044516s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_cinder.TestCinderActions.test_detach_volumes_vol_not_found [0.100614s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_412_owner_reader_can_get_targets [0.524979s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-7bb808d6-ea0b-4c2f-99dc-75f28a169576
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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": "97cccd52-ebc6-48c1-84ec-89ed89015b6f", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/97cccd52-ebc6-48c1-84ec-89ed89015b6f", "rel": "self"}, {"href": "http://localhost/volume/targets/97cccd52-ebc6-48c1-84ec-89ed89015b6f", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]}
{2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue [0.070721s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task [0.075803s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.AgentRescueTestCase.test_agent_rescue_clean_up [0.083978s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_bad_default [0.079248s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.TearDownAgentTest.test_tear_down_agent_get_power_state_fails [0.489089s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_413_lesse_reader_can_get_targets [0.161832s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-56d82eb3-0050-414d-b001-866a9edafc0e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"targets": [{"uuid": "30580d8f-3b9c-4490-9261-c5c62ac77d4e", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/30580d8f-3b9c-4490-9261-c5c62ac77d4e", "rel": "self"}, {"href": "http://localhost/volume/targets/30580d8f-3b9c-4490-9261-c5c62ac77d4e", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]}
{2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up_no_manage_boot [0.094352s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.TearDownAgentTest.test_tear_down_agent_no_power_on_support [0.048259s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_calculated_defaults [0.087281s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.TearDownAgentTest.test_tear_down_agent_power_action_oob_power_off [0.052265s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_configured_defaults [0.065960s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_414_third_party_admin_cannot_get_target_list [0.140511s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-b00fe897-aeb5-4426-a6c2-e89b2f8d6ac6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"targets": []}
{2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up_smartnic [0.094497s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.TearDownAgentTest.test_tear_down_agent_power_action_oob_power_off_failed [0.053160s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_fake [0.074141s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.TearDownAgentTest.test_tear_down_agent_power_off_fails [0.070992s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.AgentRescueTestCase.test_agent_rescue_disable_power_off [0.097212s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.TearDownAgentTest.test_tear_down_agent_soft_poweroff_doesnt_complete [0.048138s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_415_owner_reader_can_get_volume_target [0.145175s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets/4d181d34-ad7a-4828-9782-7a17d1962047 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-f1c958c6-c969-42c8-8d1c-abbac726a02d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "4d181d34-ad7a-4828-9782-7a17d1962047", "created_at": "2025-05-30T17:28:53.510125+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/4d181d34-ad7a-4828-9782-7a17d1962047", "rel": "self"}, {"href": "http://localhost/volume/targets/4d181d34-ad7a-4828-9782-7a17d1962047", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}
{2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_no_manage_agent_boot [0.070897s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_fallback_defaults [0.095241s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.TearDownAgentTest.test_tear_down_agent_soft_poweroff_fails [0.082514s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.AgentRescueTestCase.test_agent_rescue_power_on [0.046456s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_incorrect [0.082306s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.AgentRescueTestCase.test_agent_rescue_validate [0.041680s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_416_lessee_reader_can_get_volume_target [0.150309s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets/4a616e7c-57f4-40e9-a23a-c42b623e8a3e WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-44e28316-bb57-49dc-a912-663547dc2335
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "4a616e7c-57f4-40e9-a23a-c42b623e8a3e", "created_at": "2025-05-30T17:28:53.663110+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/4a616e7c-57f4-40e9-a23a-c42b623e8a3e", "rel": "self"}, {"href": "http://localhost/volume/targets/4a616e7c-57f4-40e9-a23a-c42b623e8a3e", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}
{2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_fails_empty_rescue_password [0.043534s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.TearDownAgentTest.test_tear_down_agent_soft_poweroff_race [0.104976s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_instance_info_override [0.085118s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.AgentRescueTestCase.test_agent_rescue_validate_fails_no_rescue_password [0.044552s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.AgentRescueTestCase.test_agent_rescue_validate_no_manage_agent [0.037612s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_not_fake [0.081443s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.BootInstanceTest.test_boot_instance [0.094103s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_417_third_party_admin_cannot_get_volume_target [0.144443s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets/882f2652-bfab-4859-b34b-08044dde5ee3 WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-67bedd70-2252-49f0-ba64-5a6823df3dee
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 882f2652-bfab-4859-b34b-08044dde5ee3 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_with_smartnic_port [0.049226s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_driver_factory.HardwareTypeLoadTestCase.test_enabled_supported_interfaces [0.055781s] ... ok
{2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue [0.051133s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.BootInstanceTest.test_boot_instance_no_power_on [0.095819s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_driver_factory.HardwareTypeLoadTestCase.test_enabled_supported_interfaces_non_default [0.057434s] ... ok
{2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_disable_power_off [0.050537s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_driver_factory.HardwareTypeLoadTestCase.test_get_hardware_type_existing [0.038843s] ... ok
{2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_no_manage_agent_boot [0.049373s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_418_owner_admin_create_volume_target [0.163153s] ... 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/52604aa5-87bb-433c-9d29-77032caa4818
Openstack-Request-Id: req-21333f8c-6730-45e4-b1df-c796c5a5d346
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "52604aa5-87bb-433c-9d29-77032caa4818", "created_at": "2025-05-30T17:28:54.024614+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/52604aa5-87bb-433c-9d29-77032caa4818", "rel": "self"}, {"href": "http://localhost/volume/targets/52604aa5-87bb-433c-9d29-77032caa4818", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"}
{3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_hardware_type_missing [0.062610s] ... ok
{0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueServiceTest.test_continue_servicing [0.114251s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.AgentRescueTestCase.test_agent_unrescue_power_on [0.053195s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_driver_factory.HardwareTypeLoadTestCase.test_invalid_rescue_interface [0.052326s] ... ok
{2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_with_smartnic_port [0.050297s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_driver_factory.HardwareTypeLoadTestCase.test_invalid_storage_interface [0.042569s] ... ok
{2} ironic.tests.unit.drivers.modules.test_agent.SwitchToTenantNetworkTest.test_switch_to_tenant_network [0.045030s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_419_owner_service_create_volume_target [0.164079s] ... 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/a6da4234-9ece-4301-9e87-37a22f61a53b
Openstack-Request-Id: req-1867885b-5a87-47b6-8812-ab7f0cf85cf0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "a6da4234-9ece-4301-9e87-37a22f61a53b", "created_at": "2025-05-30T17:28:54.184613+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/a6da4234-9ece-4301-9e87-37a22f61a53b", "rel": "self"}, {"href": "http://localhost/volume/targets/a6da4234-9ece-4301-9e87-37a22f61a53b", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"}
{0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueServiceTest.test_continue_servicing_after_reboot [0.121823s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_driver_factory.HardwareTypeLoadTestCase.test_no_raid_interface_no_default [0.062323s] ... ok
{2} ironic.tests.unit.drivers.modules.test_agent.SwitchToTenantNetworkTest.test_switch_to_tenant_network_fails [0.079262s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_driver_factory.HardwareTypeLoadTestCase.test_no_rescue_interface_default_from_conf [0.052590s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_420_owner_manager_create_volume_target [0.109682s] ... 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/3d2ae8e8-716f-42fd-aab9-416e7d2e6c43
Openstack-Request-Id: req-427a01a5-7bd7-4cd0-b90d-9d9b26d4de21
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "3d2ae8e8-716f-42fd-aab9-416e7d2e6c43", "created_at": "2025-05-30T17:28:54.308043+00:00", "updated_at": null, "boot_index": 3, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/3d2ae8e8-716f-42fd-aab9-416e7d2e6c43", "rel": "self"}, {"href": "http://localhost/volume/targets/3d2ae8e8-716f-42fd-aab9-416e7d2e6c43", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"}
{3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_storage_interface [0.056486s] ... ok
{0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueServiceTest.test_continue_servicing_reboot [0.128478s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestAgentDeploy.test_clean_up [0.100934s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_421_lessee_admin_create_volume_target [0.072539s] ... 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/f4dcfe53-4a37-4674-bd30-a8579eb9df33
Openstack-Request-Id: req-a419ac5c-4475-40f9-a0c8-cff1392cbcec
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "f4dcfe53-4a37-4674-bd30-a8579eb9df33", "created_at": "2025-05-30T17:28:54.382927+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/f4dcfe53-4a37-4674-bd30-a8579eb9df33", "rel": "self"}, {"href": "http://localhost/volume/targets/f4dcfe53-4a37-4674-bd30-a8579eb9df33", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}
{3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_storage_interface_default_from_conf [0.059660s] ... ok
{0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueServiceTest.test_continue_servicing_running [0.092484s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_driver_factory.HardwareTypeLoadTestCase.test_none_storage_interface [0.053413s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_422_lessee_manager_create_volume_target [0.074310s] ... 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/2b899a6b-513d-403f-a9f1-b5d4308f1cc1
Openstack-Request-Id: req-4636c6df-c31a-4012-a830-153ce1f5c443
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "2b899a6b-513d-403f-a9f1-b5d4308f1cc1", "created_at": "2025-05-30T17:28:54.458585+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id3", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/2b899a6b-513d-403f-a9f1-b5d4308f1cc1", "rel": "self"}, {"href": "http://localhost/volume/targets/2b899a6b-513d-403f-a9f1-b5d4308f1cc1", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}
{2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_clean_up_disable_power_off [0.106683s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.047864s] ... ok
{3} ironic.tests.unit.common.test_driver_factory.StorageInterfaceFactoryTestCase.test_build_interface_for_task [0.078787s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_has_retries [0.046748s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_423_third_party_admin_cannot_create_volume_target [0.070957s] ... 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-cf7b111b-a6ae-4a51-8000-771e895e9bed
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.test_agent_base.FreshlyBootedTestCase.test__freshly_booted_multi_command [0.043419s] ... ok
{2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy [0.112294s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_424_owner_member_can_patch_volume_target [0.076845s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/targets/23dd6e8c-c98a-4336-87ae-283270fe1da8 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-987f1e27-75c9-4232-b6d2-3a56c80d7569
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.test_agent_base.FreshlyBootedTestCase.test__freshly_booted_single_command [0.046101s] ... ok
{0} ironic.tests.unit.drivers.modules.test_agent_base.FreshlyBootedTestCase.test__freshly_booted_single_command_mismatch [0.044944s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_425_owner_service_can_patch_volume_target [0.075962s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/targets/4c31cde4-e4bd-46ae-9d57-082fc9891fa3 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-ae26b98e-ceb5-4fef-a8a3-6ba0fb3f270b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_fast_track [0.139630s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_426_lessee_admin_can_patch_volume_target [0.077429s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/targets/67286864-2b9b-44e4-b17c-2306919323b9 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-1d934944-cc12-4543-b489-c92aae39b18f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_cleaning [0.110299s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_427_lessee_manager_can_patch_volume_target [0.076686s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/targets/56a74fa6-ae7f-4938-ab63-45e428d92914 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-27d0b0dd-8fbc-4698-b57f-2a3bc2bf8111
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_storage_should_write_image_false [0.121343s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.HeartbeatMixinTest.test_heartbeat_continue_cleaning_fails [0.100700s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_428_lessee_member_cannot_patch_volume_target [0.134455s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/targets/e4de1b19-971a-47f5-92b1-d2a3f11e93ce WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-1d00fa6b-7043-430e-9931-c64b00efdd48
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_cleaning_polling [0.106638s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestAgentDeploy.test_deploy_with_deployment_reboot [0.124133s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestAgentDeploy.test_get_clean_steps [0.089193s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.HeartbeatMixinTest.test_heartbeat_continue_deploy_first_run [0.109025s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_429_third_party_admin_cannot_patch_volume_target [0.149378s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/targets/5a20f438-49e1-477f-b9d8-9df3168b16fe WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-1c8be4dc-006f-48bf-a849-a559dd5fd598
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 5a20f438-49e1-477f-b9d8-9df3168b16fe could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_clean_steps_config_priority [0.096241s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.HeartbeatMixinTest.test_heartbeat_continue_deploy_second_run [0.107266s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.739086s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_430_service_cannot_patch_volume_target [0.147496s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/targets/46741a5e-a24c-4f70-9d82-82a8f92a1d2e WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-ce6ffd37-69ba-4310-be26-cb84d3d325d1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 46741a5e-a24c-4f70-9d82-82a8f92a1d2e could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_servicing [0.115471s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.HeartbeatMixinTest.test_heartbeat_continue_servicing_fails [0.095147s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_431_owner_admin_can_delete_volume_target [0.152564s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/targets/4a5615b5-0248-42c1-8dc1-436418533e4c GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-00e19971-f0cb-4bf6-b448-9b6d0a0f27b8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_deploy_done_raises_with_event [0.107869s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_432_owner_manager_can_delete_volume_target [0.138497s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/targets/24f188e7-22e6-4d77-ae4a-4a4662882e11 GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-d4526bc2-271e-46f4-a195-6026bc7578a1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_properties [0.410476s] ... ok
{0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_deploy_fails [0.092811s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestAgentDeploy.test_get_service_steps [0.092873s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_433_owner_manager_can_delete_volume_target_service [0.148491s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/targets/e9462536-dbe2-4b3f-a92b-0ce6b281304a GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-cdf5cc16-83eb-4334-87b0-e88d48d2275d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_in_maintenance [0.143081s] ... ok
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.TestAgentDeploy.test_prepare [0.158384s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_434_lessee_admin_can_delete_volume_target [0.152366s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/targets/5e4974b5-4c9a-4ddb-9ead-cc251aa792eb GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-81866b51-e354-41fd-8276-25b286c6f863
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_in_maintenance_abort [0.219490s] ... ok
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.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__no_auth [0.718599s] ... ok
{2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_active_and_unrescue_states [0.135556s] ... ok
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.api.test_acl.TestRBACProjectScoped.test_project_scoped_435_lessee_manager_can_delete_volume_target [0.155530s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/targets/91eb0a05-b7b4-499d-8f99-557ef868e370 GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-3e6b39bb-b14a-42cf-bc07-c7c4ce777071
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_noops_in_wrong_state [0.083275s] ... ok
{2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_adopting [0.103946s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.HeartbeatMixinTest.test_heartbeat_noops_in_wrong_state2 [0.099390s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_436_owner_member_cannot_delete_volume_target [0.146741s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/targets/5decff60-bc5c-4027-a1e4-694c6040d76a GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-45161869-89cc-4e48-b67d-74bcdec0c528
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_polling [0.049501s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestAgentDeploy.test_prepare_boot_from_volume [0.139004s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.HeartbeatMixinTest.test_heartbeat_records_fast_track [0.078738s] ... ok
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.TestAgentDeploy.test_prepare_cleaning [0.096540s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_437_lessee_member_cannot_delete_volume_target [0.142550s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/targets/b9e23a6c-775d-4593-9785-9b0c57a74ea5 GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-64d46872-63e8-4a41-93bf-e9d16da89818
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_records_fast_track_via_driver_info [0.084998s] ... ok
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.TestAgentDeploy.test_prepare_cleaning_fast_track [0.096885s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestAgentDeploy.test_prepare_cleaning_manage_agent_boot_false [0.045450s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_438_third_party_admin_cannot_delete_volume_target [0.139772s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/targets/7e7452c8-79d4-4e68-86f5-bd2d861550f4 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-6c13215a-8e74-40c5-a897-09f2e0bb4272
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 7e7452c8-79d4-4e68-86f5-bd2d861550f4 could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_records_when_appropriate [0.131096s] ... ok
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.drivers.modules.test_agent.TestAgentDeploy.test_prepare_fast_track [0.063546s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.HeartbeatMixinTest.test_heartbeat_rescue [0.048382s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestAgentDeploy.test_prepare_instance_boot [0.052084s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.HeartbeatMixinTest.test_heartbeat_rescue_fails [0.049432s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_439_service_cannot_delete_volume_target [0.141962s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/targets/22ed7947-58a6-4d7f-b783-d845afdfcd22 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-d2be225b-92db-4a09-8113-bdfd108392b9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 22ed7947-58a6-4d7f-b783-d845afdfcd22 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_localboot [0.058826s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.HeartbeatMixinTest.test_heartbeat_resume_clean [0.054762s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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__token_auth [0.712942s] ... ok
{2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_no_manage_agent_boot [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(
{0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_resume_clean_fails [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(
/usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  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.api.test_acl.TestRBACProjectScoped.test_project_scoped_440_owner_reader_can_get_volume_connectors [0.172519s] ... 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-ece1f6a4-449f-475f-bc06-4353fd81fe4e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.test_agent_base.HeartbeatMixinTest.test_heartbeat_resume_service [0.057227s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestAgentDeploy.test_prepare_instance_boot_partition_image [0.130530s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.HeartbeatMixinTest.test_heartbeat_with_reservation [0.053697s] ... ok
{0} ironic.tests.unit.drivers.modules.test_agent_base.PostStepHooksTest.test__get_post_step_hook [0.029995s] ... ok
{0} ironic.tests.unit.drivers.modules.test_agent_base.PostStepHooksTest.test__get_post_step_hook_no_hook_registered [0.030460s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_441_owner_service_can_get_volume_connectors [0.169158s] ... 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-05c68f4f-ca82-48b3-be64-69a81a5b69ac
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.test_agent_base.PostStepHooksTest.test__post_step_reboot [0.048350s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestAgentDeploy.test_prepare_instance_boot_partition_localboot_ppc64 [0.131123s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.PostStepHooksTest.test__post_step_reboot_deploy [0.050623s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.PostStepHooksTest.test__post_step_reboot_fail [0.039698s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestAgentDeploy.test_prepare_instance_boot_storage_should_write_image_with_smartnic [0.110079s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.PostStepHooksTest.test__post_step_reboot_fail_deploy [0.038402s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_442_lessee_reader_can_get_node_volume_connectors [0.168910s] ... 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-e97e6d83-6bca-4436-a4c8-844324b991ad
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"connectors": [{"uuid": "fdd9584a-cc38-4acc-8803-e21e772716a5", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/fdd9584a-cc38-4acc-8803-e21e772716a5", "rel": "self"}, {"href": "http://localhost/volume/connectors/fdd9584a-cc38-4acc-8803-e21e772716a5", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]}
{0} ironic.tests.unit.drivers.modules.test_agent_base.PostStepHooksTest.test__post_step_reboot_fail_servicing [0.047286s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestAgentDeploy.test_prepare_manage_agent_boot_false [0.161926s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_443_third_party_admin_cannot_get_node_volume_connectors [0.153033s] ... 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-5a8ade24-42b9-4cb3-bf24-372bfd092f68
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.test_agent_base.PostStepHooksTest.test__post_step_reboot_pregenerated_token [0.223064s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.PostStepHooksTest.test_post_clean_step_hook [0.024755s] ... ok
{0} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_basics [0.025272s] ... ok
{2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_rescue_states [0.190306s] ... ok
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_agent_power.AgentPowerTest.test_get_power_state [0.043542s] ... ok
{0} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_get_power_state_unknown [0.049543s] ... ok
{2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_service [0.123969s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_power.AgentPowerTest.test_reboot [0.124048s] ... ok
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_agent_power.AgentPowerTest.test_reboot_another_state [0.055593s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestAgentDeploy.test_prepare_storage_write_false [0.162614s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_power.AgentPowerTest.test_reboot_into_instance [0.045341s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_power.AgentPowerTest.test_reboot_timeout [0.052703s] ... ok
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.api.test_acl.TestRBACProjectScoped.test_project_scoped_444_service_cannot_get_node_volume_connectors [0.530895s] ... 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-40551451-41f0-4f5c-bc78-3be074055f91
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_validate [0.026287s] ... ok
{0} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_validate_fails [0.024052s] ... ok
{0} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_validate_no_fast_track [0.023990s] ... ok
{0} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure [0.036039s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestAgentDeploy.test_prepare_with_neutron_net [0.197883s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_boot_mode_utils.SecureBootTestCase.test_configure_exception [0.036934s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_boot_mode_utils.SecureBootTestCase.test_configure_none_requested [0.036545s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_client_already_set [1.339656s] ... ok
{3} ironic.tests.unit.common.test_glance_service.TestGlanceSerializer.test_serialize [0.000146s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_445_owner_reader_can_get_node_volume_targets [0.199385s] ... 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-445d7462-3e73-4932-ace9-02c381245eb3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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"}]}
{0} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure_unsupported [0.038743s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_boot_mode_utils.SecureBootTestCase.test_deconfigure [0.036121s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestSwiftTempUrlCache.test_add_items_to_cache [0.078274s] ... ok
{0} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure_exception [0.037401s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_boot_mode_utils.SecureBootTestCase.test_deconfigure_none_requested [0.036848s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestAgentDeploy.test_prepare_with_smartnic_port [0.210965s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestSwiftTempUrlCache.test_do_not_return_expired_tempurls [0.069312s] ... ok
{0} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure_unsupported [0.036255s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_446_owner_service_can_read_get_node_volume_targets [0.186757s] ... 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-4c103111-a17b-428c-896e-01f2ab65e87c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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"}]}
{0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_agent_add_clean_params [0.047420s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestSwiftTempUrlCache.test_remove_expired_items_from_cache [0.067848s] ... ok
{0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_build_agent_options_conf [0.029777s] ... ok
{0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_build_agent_options_keystone [0.030237s] ... ok
{3} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_return_cached_tempurl [0.061567s] ... ok
{2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down [0.161005s] ... ok
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_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_no_force_raw [0.028042s] ... ok
{0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_no_stream [0.029305s] ... ok
{3} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_swift_temp_url_cache_disabled [0.063853s] ... ok
{0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_partition [0.028489s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_447_lessee_reader_can_get_node_volume_targets [0.173095s] ... 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-d94af225-69b4-436d-94de-a71be039b814
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"targets": [{"uuid": "4ea2bff4-9db8-4c20-94b3-e988e85f2d42", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/4ea2bff4-9db8-4c20-94b3-e988e85f2d42", "rel": "self"}, {"href": "http://localhost/volume/targets/4ea2bff4-9db8-4c20-94b3-e988e85f2d42", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]}
{0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_true [0.029045s] ... ok
{3} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_swift_temp_url_cache_enabled [0.050687s] ... ok
{2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_cleaning [0.102972s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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 [0.052435s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_image_service.OciImageServiceTestCase.test__validate_url_is_specific [0.068002s] ... ok
{0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_broken_fast_track [0.054620s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestAgentDeploy.test_tear_down_cleaning_manage_agent_boot_false [0.103369s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_image_service.OciImageServiceTestCase.test__validate_url_is_specific_bad_format [0.038610s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_448_third_part_admin_cannot_read_node_volume_targets [0.158083s] ... 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-e2b57b46-c4fb-4a96-82be-c05c2cc0f9a9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.common.test_image_service.OciImageServiceTestCase.test__validate_url_is_specific_not_specific [0.043161s] ... ok
{0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_fast_track [0.055324s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_image_service.OciImageServiceTestCase.test_download_direct_manifest_reference [0.065128s] ... ok
{0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_manage_boot_false [0.092368s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestAgentDeploy.test_tear_down_disable_power_off [0.163379s] ... ok
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.common.test_image_service.OciImageServiceTestCase.test_download_direct_manifest_reference_just_digest [0.051377s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_449_service_cannot_read_node_volume_targets [0.160027s] ... 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-988c448c-1391-49cc-85b9-9e34680c7575
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.common.test_image_service.OciImageServiceTestCase.test_identify_specific_image [0.045602s] ... ok
{0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_service [0.112282s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_image_service.OciImageServiceTestCase.test_identify_specific_image_aarch64 [0.041921s] ... ok
{2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_service [0.102959s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_image_service.OciImageServiceTestCase.test_identify_specific_image_bad_manifest [0.033024s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_450_owner_reader_cannot_get_drivers [0.143799s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-5112d867-9f55-4fa5-ad79-95739ffa278c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.common.test_image_service.OciImageServiceTestCase.test_identify_specific_image_local [0.038467s] ... ok
{0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning [0.106758s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestAgentDeploy.test_tear_down_service_disable_power_off [0.098060s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_image_service.OciImageServiceTestCase.test_identify_specific_image_specific_digest [0.043120s] ... ok
{3} ironic.tests.unit.common.test_image_service.OciImageServiceTestCase.test_show [0.045969s] ... ok
{0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_cleaning_error [0.091802s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_451_lessee_reader_cannot_get_drivers [0.138813s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-883a2537-e40a-4207-84f6-32e4a602410d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.common.test_image_service.OciImageServiceTestCase.test_validate_href [0.039111s] ... ok
{2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_with_smartnic_port [0.151802s] ... ok
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.common.test_images.FsImageTestCase.test__create_root_fs [0.050958s] ... ok
{0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_disable_power_off [0.092882s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_images.FsImageTestCase.test__generate_grub_cfg [0.047853s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_452_third_party_admin_cannot_get_drivers [0.139078s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-643da212-d691-43c0-aab9-caa7e93d3bb8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.common.test_images.FsImageTestCase.test__generate_isolinux_cfg [0.036163s] ... ok
{2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate [0.106372s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_and_fast_track [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(
{3} ironic.tests.unit.common.test_images.FsImageTestCase.test__get_deploy_iso_files [0.041819s] ... ok
{3} ironic.tests.unit.common.test_images.FsImageTestCase.test__get_deploy_iso_files_fail_no_esp_imageimg [0.044277s] ... ok
{2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_driver_info_manage_agent_boot_false [0.100541s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.096225s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_453_service_cannot_get_drivers [0.135839s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-7df4cdf0-9166-42b5-b054-c5a71991e45f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.common.test_images.FsImageTestCase.test__get_deploy_iso_files_fail_with_ExecutionError [0.040841s] ... ok
{3} ironic.tests.unit.common.test_images.FsImageTestCase.test__get_deploy_iso_files_fails_no_grub_cfg [0.046942s] ... ok
{0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_manage_boot_false [0.095269s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestAgentDeploy.test_validate_file_image_no_checksum [0.119251s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_images.FsImageTestCase.test_create_boot_iso_for_bios [0.041262s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_454_owner_reader_cannot_get_drivers_vendor_passthru [0.135632s] ... 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-77274be5-2e69-413a-b77a-eb9c664bd7fe
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.common.test_images.FsImageTestCase.test_create_boot_iso_for_bios_with_no_boot_mode [0.040385s] ... ok
{3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_deploy_iso [0.049105s] ... ok
{0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_service [0.123320s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestAgentDeploy.test_validate_instance_info_missing_params [0.115630s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_images.FsImageTestCase.test_create_boot_iso_for_uefi_deploy_iso_for_hrefs [0.046001s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_455_lessee_reader_cannot_get_drivers_vendor_passthru [0.137740s] ... 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-ae708afc-8633-4796-b0b8-f2dd112e2144
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.test_agent.TestAgentDeploy.test_validate_invalid_image_type [0.086876s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_images.FsImageTestCase.test_create_boot_iso_for_uefi_esp_image [0.039511s] ... ok
{0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_service_disable_power_off [0.114182s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_images.FsImageTestCase.test_create_boot_iso_for_uefi_esp_image_for_hrefs [0.032397s] ... ok
{2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_proxies [0.092028s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_456_third_party_admin_cannot_get_drivers_vendor_passthru [0.130582s] ... 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-790ab1bf-92a8-4f3a-b303-20a40f1d1325
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.common.test_images.FsImageTestCase.test_create_esp_image_for_uefi_with_deploy_iso [0.052820s] ... ok
{0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_service_service_error [0.091191s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_images.FsImageTestCase.test_create_esp_image_for_uefi_with_esp_image [0.051107s] ... ok
{0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_all_supported_capabilities [0.047706s] ... ok
{2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_root_device_hints [0.085661s] ... ok
{0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label [0.037813s] ... ok
{3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_mkisofs_fails [0.057524s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_457_service_cannot_get_drivers_vendor_passthru [0.137967s] ... 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-4b4ac490-5837-4761-8cc2-aa71901669ce
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label_nothing_set [0.041982s] ... ok
{3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_uefi_rootfs_fails [0.047772s] ... ok
{2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_root_device_hints_iinfo [0.085333s] ... ok
{0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label_nothing_set_bios_mode [0.046269s] ... ok
{3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_bios_mkisofs_fails [0.047082s] ... ok
{0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label_uefi_mode [0.047523s] ... ok
{2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_checksum [0.100149s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_false [0.036506s] ... ok
{3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_bios_rootfs_fails [0.045961s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_458_owner_reader_can_get_bios_setttings [0.151777s] ... 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-c18d767f-69aa-4ac7-aa84-c851e9723bd6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"bios": []}
{0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_invalid [0.048549s] ... ok
{3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios [0.042183s] ... ok
{0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_true [0.047403s] ... ok
{3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_conf_ldlinux [0.058432s] ... ok
{0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_capabilities [0.034663s] ... ok
{3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_default_ldlinux [0.055634s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_459_lessee_reader_can_get_bios_settings [0.158289s] ... 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-53069462-14d7-4ee1-9dfe-87ea43007d26
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"bios": []}
{0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_capabilities_string [0.049037s] ... ok
{0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_invalid_type [0.046810s] ... ok
{3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_inject_files [0.058370s] ... ok
{0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability [0.045617s] ... ok
{3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image [0.057442s] ... ok
{0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_instance_info [0.048714s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_460_third_party_admin_cannot_get_bios_settings [0.164982s] ... 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-9050c48a-9344-4626-922c-5a9f0cffb5ae
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_dd_fails [0.028431s] ... ok
{0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_instance_info_with_exc [0.052518s] ... ok
{3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_mkfs_fails [0.043674s] ... ok
{0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_with_exc [0.033389s] ... ok
{2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_checksum_os_algo [0.443156s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_images.FsImageTestCase.test_get_glance_image_properties_default_all [0.042032s] ... ok
{0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_anaconda_deploy_image_source [0.050813s] ... ok
{3} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_no_such_prop [0.030712s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_461_service_can_get_bios_setttings_owner_project [0.152201s] ... 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-625c2be3-d024-4b76-8752-cc29799018d7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"bios": []}
{0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_boot_iso_conflict [0.058397s] ... ok
{2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_os_algo [0.118337s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_462_service_cannot_get_bios_setttings [0.139156s] ... 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-4265a1e0-1b22-4216-b056-6cb2b99c97b8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_os_checksum [0.103109s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_463_owner_reader_cannot_get_conductors [0.130481s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-96b510dc-555f-41ee-a053-bf89e82ba713
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_os_image_hash [0.114389s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestAgentDeploy.test_validate_oci_no_checksum [0.109351s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_images.FsImageTestCase.test_get_glance_image_properties_with_prop_subset [0.397656s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_464_lessee_reader_cannot_get_conductors [0.139709s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-0bf06fb4-56f6-4de1-98a2-dd780767d48e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"}
{3} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_temp_url_for_glance_image [0.068440s] ... ok
{0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_missing_stage2_id [0.443032s] ... ok
{2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_storage_should_write_image_false [0.094532s] ... ok
{0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_not_authorized [0.050098s] ... ok
{3} ironic.tests.unit.common.test_inspection_rule.TestShallowMask.test_get_method_masked [0.070036s] ... ok
{0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_not_found [0.043396s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_465_third_party_admin_cannot_get_conductors [0.142778s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-11a5ab26-14a7-4f5b-abfa-85657793cee9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"}
{3} ironic.tests.unit.common.test_inspection_rule.TestShallowMask.test_getitem_masked [0.056494s] ... ok
{0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_invalid_image_href [0.027541s] ... ok
{2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image [0.121480s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.028142s] ... ok
{0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_nonglance_image [0.025962s] ... ok
{3} ironic.tests.unit.common.test_inspection_rule.TestShallowMask.test_getitem_not_masked [0.060190s] ... ok
{0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_ramdisk_deploy [0.029381s] ... ok
{0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_amount_not_satisfied [0.024106s] ... ok
{3} ironic.tests.unit.common.test_inspection_rule.TestShallowMask.test_items_masked [0.060454s] ... ok
{0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_cache_still_large [0.024721s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_466_owner_reader_can_get_allocations [0.159789s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-18e42c38-7337-4f7b-add8-90d81a8e2368
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"allocations": [{"uuid": "947c6136-3530-4fc2-81b5-6e41edbc613b", "created_at": "2025-05-30T17:29:01.139573+00:00", "updated_at": "2025-05-30T17:29:01.140993+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/947c6136-3530-4fc2-81b5-6e41edbc613b", "rel": "self"}, {"href": "http://localhost/allocations/947c6136-3530-4fc2-81b5-6e41edbc613b", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]}
{2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_basic_auth_success [0.135767s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_image_cache.TestImageCacheCleanUp.test_clean_up_ensure_cache_size [0.023733s] ... ok
{3} ironic.tests.unit.common.test_inspection_rule.TestShallowMask.test_list_masking [0.060195s] ... ok
{0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_ensure_cache_size_with_amount [0.023066s] ... ok
{0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_files_with_links_untouched [0.021364s] ... ok
{0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_old_deleted [0.022213s] ... ok
{3} ironic.tests.unit.common.test_inspection_rule.TestShallowMask.test_modifying_dict [0.056494s] ... ok
{0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_old_with_amount [0.027252s] ... ok
{2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_basic_auth_success_blocked [0.117955s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_image_cache.TestImageCacheCleanUp.test_cleanup_ordering [0.032695s] ... ok
{3} ironic.tests.unit.common.test_inspection_rule.TestShallowMask.test_nested_dict_masking [0.054021s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_467_lessee_reader_can_get_allocations [0.154950s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-6c44444a-a771-4949-a05a-4a98626fb624
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"allocations": [{"uuid": "1b0c6bae-b1c1-4102-96c6-09ae7ce83f80", "created_at": "2025-05-30T17:29:01.292118+00:00", "updated_at": "2025-05-30T17:29:01.299178+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/1b0c6bae-b1c1-4102-96c6-09ae7ce83f80", "rel": "self"}, {"href": "http://localhost/allocations/1b0c6bae-b1c1-4102-96c6-09ae7ce83f80", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]}
{0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_temp_dir_exception [0.023998s] ... ok
{0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_temp_images_not_cleaned [0.026278s] ... ok
{3} ironic.tests.unit.common.test_inspection_rule.TestShallowMask.test_set_mask_enabled [0.054839s] ... ok
{0} ironic.tests.unit.drivers.modules.test_inspect_utils.GetBMCAddressesTestCase.test_localhost_as_url_ignored [0.037746s] ... ok
{2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_image_source_is_url [0.119905s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_inspection_rule.TestShallowMask.test_values_masked [0.060637s] ... ok
{0} ironic.tests.unit.drivers.modules.test_inspect_utils.GetBMCAddressesTestCase.test_localhost_ignored [0.042725s] ... ok
{0} ironic.tests.unit.drivers.modules.test_inspect_utils.GetBMCAddressesTestCase.test_normal_ip [0.030899s] ... ok
{3} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_adapter_from_config [0.049836s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_468_owner_reader_can_get_their_allocation [0.165230s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations/0ec854eb-59c6-402f-99eb-cdc65011247b WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-12b91ef5-1a78-449d-87af-976baf2e86d1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "0ec854eb-59c6-402f-99eb-cdc65011247b", "created_at": "2025-05-30T17:29:01.435501+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/0ec854eb-59c6-402f-99eb-cdc65011247b", "rel": "self"}, {"href": "http://localhost/allocations/0ec854eb-59c6-402f-99eb-cdc65011247b", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"}
{3} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_auth [0.036294s] ... ok
{0} ironic.tests.unit.drivers.modules.test_inspect_utils.GetBMCAddressesTestCase.test_normal_ip_as_url [0.077419s] ... ok
{2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_oci_authorization [0.145387s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_keystone.KeystoneTestCase.test_get_auth_fail [0.044687s] ... ok
{0} ironic.tests.unit.drivers.modules.test_inspect_utils.GetBMCAddressesTestCase.test_normal_ipv6_as_url [0.052385s] ... ok
{0} ironic.tests.unit.drivers.modules.test_inspect_utils.GetBMCAddressesTestCase.test_redfish_bmc_address_ipv6_brackets_no_scheme [0.051348s] ... ok
{3} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_service_auth [0.091976s] ... ok
{2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_partition_image [0.110888s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_469_lessee_reader_can_get_their_allocation [0.174449s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations/c1723a58-2ed6-46d3-9cdf-451d1ada28c6 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-fb4a89e8-60c0-4e18-9dd7-e478e4540065
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "c1723a58-2ed6-46d3-9cdf-451d1ada28c6", "created_at": "2025-05-30T17:29:01.637106+00:00", "updated_at": "2025-05-30T17:29:01.638375+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/c1723a58-2ed6-46d3-9cdf-451d1ada28c6", "rel": "self"}, {"href": "http://localhost/allocations/c1723a58-2ed6-46d3-9cdf-451d1ada28c6", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}
{3} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_session [0.039399s] ... ok
{0} ironic.tests.unit.drivers.modules.test_inspect_utils.GetBMCAddressesTestCase.test_resolved_host [0.052546s] ... ok
{0} ironic.tests.unit.drivers.modules.test_inspect_utils.GetBMCAddressesTestCase.test_resolved_host_in_url [0.035705s] ... ok
{0} ironic.tests.unit.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test__get_inspection_data_from_swift [0.036707s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_470_owner_admin_can_delete_their_allocation [0.120552s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/allocations/09fed180-427f-4cc2-b95b-e5d146a9c6bb GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-8b4ffef4-b1ea-46ff-9df3-5ce064d2394b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_render_configdrive [0.136515s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_kickstart_utils.KSUtilsTestCase.test_prepare_config_drive [0.111764s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test__get_inspection_data_from_swift_exception [0.034912s] ... ok
{0} ironic.tests.unit.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test__store_inspection_data_in_swift [0.035034s] ... ok
{0} ironic.tests.unit.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test_get_inspection_data_db [0.028649s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_471_owner_manager_can_delete_their_allocation [0.099533s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/allocations/fc364a2a-dc40-4d8e-bde2-ede7bd9995a6 GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-f677298b-da41-4970-b355-3c6882a29593
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test_get_inspection_data_db_exception [0.029155s] ... ok
{3} ironic.tests.unit.common.test_kickstart_utils.KSUtilsTestCase.test_prepare_config_drive_in_swift [0.106054s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestAgentDeploy.test_write_image_with_no_proxy_without_proxies [0.116010s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test_get_inspection_data_nostore [0.028234s] ... ok
{3} ironic.tests.unit.common.test_mdns.ParseEndpointTestCase.test_resolve [0.047952s] ... ok
{0} ironic.tests.unit.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test_get_inspection_data_swift [0.028275s] ... ok
{0} ironic.tests.unit.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test_get_inspection_data_swift_exception [0.026666s] ... ok
{3} ironic.tests.unit.common.test_mdns.ParseEndpointTestCase.test_simple [0.048774s] ... ok
{0} ironic.tests.unit.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test_store_inspection_data_db [0.029148s] ... ok
{2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_with_proxies [0.112382s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_mdns.ParseEndpointTestCase.test_simple_https [0.034742s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_472_lessee_admin_can_delete_their_allocation [0.164405s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/allocations/fc8fc787-9d33-4f59-a6b2-1bd53acdc559 GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-a66d321a-6e1e-4df5-aeb9-0204f328aeea
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test_store_inspection_data_nostore [0.027563s] ... ok
{3} ironic.tests.unit.common.test_mdns.ParseEndpointTestCase.test_with_path_and_port [0.036439s] ... ok
{0} ironic.tests.unit.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test_store_inspection_data_swift [0.026292s] ... ok
{0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_fail [0.022010s] ... ok
{0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_no_ipmitool [0.020843s] ... ok
{0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_pass [0.020144s] ... ok
{2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning [0.119101s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_molds.ConfigurationMoldTestCase.test_get_configuration_connection_error [0.086116s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_fail [0.023976s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_473_lessee_manager_can_delete_their_allocation [0.128914s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/allocations/03cc5782-5794-4d08-ba49-92a900c98d3f GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-84776421-c569-4230-ab75-7e17eb84d4e8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_no_ipmitool [0.023334s] ... ok
{0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_pass [0.020816s] ... ok
{0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_fail [0.020928s] ... ok
{3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_empty [0.083830s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_no_ipmitool [0.021999s] ... ok
{0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_pass [0.020574s] ... ok
{2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_after_reboot [0.126438s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.IPMIToolCheckOptionSupportedTestCase.test_check_timing_fail [0.021643s] ... ok
{0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_no_ipmitool [0.020334s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_474_owner_member_can_delete_their_allocation [0.150644s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/allocations/d329a7fb-8281-4688-ad73-9535fc3be416 GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-5c021f6e-8317-42b7-94a7-06de927bac85
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_http [0.086469s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.IPMIToolCheckOptionSupportedTestCase.test_check_timing_pass [0.022006s] ... ok
{0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootBaseUtils.test__node_set_boot_device_for_network_boot [0.041635s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_molds.ConfigurationMoldTestCase.test_get_configuration_http_error [0.087673s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.ContinueCleaningTest.test_continue_cleaning_automated_clean_version_mismatch [0.114673s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.iPXEHttpBootTestCase.test_http_boot_enabled [0.040380s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_475_lessee_member_can_delete_their_allocation [0.150461s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/allocations/bd20133e-10e8-4e58-990d-ebd155fc1083 GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-4dc47a68-bc98-494a-aec9-358100808545
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEHttpBootTestCase.test_prepare_ramdisk [0.074608s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_molds.ConfigurationMoldTestCase.test_get_configuration_http_noauth [0.097028s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.ContinueCleaningTest.test_continue_cleaning_clean_version_mismatch_fail [0.110002s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.ContinueCleaningTest.test_continue_cleaning_fail [0.044283s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_molds.ConfigurationMoldTestCase.test_get_configuration_invalid_json [0.082972s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.iPXEHttpBootTestCase.test_prepare_ramdisk_rescue [0.117397s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.ContinueCleaningTest.test_continue_cleaning_manual_clean_version_mismatch [0.066833s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_476_owner_member_can_patch_allocation [0.194181s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/allocations/47225ff1-238d-4c0f-abba-9d8df9a02c50 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-d1b08c92-245d-4c4f-8b3a-74fe1c1a8fa9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "47225ff1-238d-4c0f-abba-9d8df9a02c50", "created_at": "2025-05-30T17:29:02.608687+00:00", "updated_at": "2025-05-30T17:29:02.707208+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/47225ff1-238d-4c0f-abba-9d8df9a02c50", "rel": "self"}, {"href": "http://localhost/allocations/47225ff1-238d-4c0f-abba-9d8df9a02c50", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"}
{3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_mold_connection_error_exceeded [0.084132s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.ContinueCleaningTest.test_continue_cleaning_no_step_running [0.057781s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.ContinueCleaningTest.test_continue_cleaning_old_command [0.048974s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_molds.ConfigurationMoldTestCase.test_get_configuration_swift [0.091339s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.iPXEHttpBootTestCase.test_prepare_ramdisk_uefi [0.160909s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.ContinueCleaningTest.test_continue_cleaning_reboot [0.064417s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_noop_mgmt.TestNoopManagement.test_dummy_methods [0.042255s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_477_lessee_member_can_patch_allocation [0.161501s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/allocations/6ab2a993-5abb-4c9c-b0f4-78638d309e2d WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-77c840e7-7f85-4774-bbaf-3962c768576b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6ab2a993-5abb-4c9c-b0f4-78638d309e2d", "created_at": "2025-05-30T17:29:02.815677+00:00", "updated_at": "2025-05-30T17:29:02.872804+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/6ab2a993-5abb-4c9c-b0f4-78638d309e2d", "rel": "self"}, {"href": "http://localhost/allocations/6ab2a993-5abb-4c9c-b0f4-78638d309e2d", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}
{3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_swift_noauth [0.090826s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_noop_mgmt.TestNoopManagement.test_set_boot_device [0.043884s] ... ok
{2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_running [0.047201s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.ContinueCleaningTest.test_continue_cleaning_unknown [0.057205s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_molds.ConfigurationMoldTestCase.test_save_configuration_connection_error [0.089922s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_pxe.PXEBootRetryTestCase.test_check_boot_status_maintenance [0.107168s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_478_third_party_admin_can_get_allocations [0.135226s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-06e163f7-88a6-4272-ab18-4557aa94028f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"allocations": []}
{2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_with_hook [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.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_connection_error_exceeded [0.088309s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.ContinueCleaningTest.test_continue_cleaning_with_hook_fails [0.053852s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_pxe.PXEBootRetryTestCase.test_check_boot_status_not_retry_with_token [0.075414s] ... ok
{2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_manual_cleaning [0.053709s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_molds.ConfigurationMoldTestCase.test_save_configuration_http [0.090925s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_pxe.PXEBootRetryTestCase.test_check_boot_status_recent_power_change [0.074834s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_479_third_party_admin_can_create_allocation [0.148268s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/allocations WITH {'resource_class': 'CUSTOM_TEST'} GOT Response: 503 Service Unavailable
Content-Type: application/json
Openstack-Request-Id: req-e33ccfa8-4fcd-4079-9428-5e63e46f15cf
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps [0.050995s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestRefreshCleanSteps.test_refresh_steps_busy [0.044163s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_pxe.PXEBootRetryTestCase.test_check_boot_status_retry [0.082494s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_molds.ConfigurationMoldTestCase.test_save_configuration_http_error [0.090827s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestRefreshCleanSteps.test_refresh_steps_deploy [0.051031s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestRefreshCleanSteps.test_refresh_steps_missing_interface [0.044515s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_480_third_party_admin_cannot_create_allocation_with_owner_node [0.163440s] ... 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-77f22fba-7661-4a4f-b357-74ab14d8dd24
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_http_noauth [0.095519s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_pxe.PXEBootRetryTestCase.test_check_boot_status_wrong_state [0.097823s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestRefreshCleanSteps.test_refresh_steps_missing_steps [0.113437s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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_pxe.PXEBootRetryTestCase.test_check_boot_timeouts [0.097135s] ... ok
{3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_swift [0.131071s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.SNMPValidateParametersTestCase.test__parse_driver_info_apc [0.072462s] ... ok
{2} ironic.tests.unit.drivers.modules.test_agent_client.TestLockDown.test_agent_already_down [0.075606s] ... ok
{2} ironic.tests.unit.drivers.modules.test_agent_client.TestLockDown.test_okay [0.063784s] ... ok
{0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_masterswitch [0.071758s] ... ok
{3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_swift_noauth [0.139015s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_client.TestLockDown.test_okay_with_fail_if_unavailable [0.070080s] ... ok
{0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_masterswitchplus [0.076839s] ... ok
{2} ironic.tests.unit.drivers.modules.test_agent_client.TestLockDown.test_timeout [0.056436s] ... ok
{3} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_excludes_None [0.150267s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.AsyncStepTestCase.test_get_async_step_return_state_cleaning [0.089671s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_get_async_step_return_state_deploying [0.092366s] ... ok
{3} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_multiple_ports [0.173611s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_481_third_party_admin_cannot_create_allocation_with_candidates_not_owned [0.651104s] ... 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-a5fa960f-051f-4863-a937-866799aaff43
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f, 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_cleaning_set_all [0.105332s] ... ok
{3} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_no_ports [0.135188s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.SNMPValidateParametersTestCase.test__parse_driver_info_apc_rackpdu [0.422509s] ... ok
{0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_aten [0.024736s] ... ok
{0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_cyberpower [0.022953s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_482_owner_admin_can_create_allocation_with_their_uuid [0.167733s] ... 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-00a1c25d-050d-4fc7-bd30-de11ac20f023
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_cleaning_set_one [0.102617s] ... ok
{0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default [0.022692s] ... ok
{0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default_version [0.020971s] ... ok
{0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default_version_and_missing_community [0.024204s] ... ok
{0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_eatonpower [0.029154s] ... ok
{0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_driver [0.022042s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_clears_non_pregenerated_token [0.108885s] ... ok
{0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_outlet [0.029588s] ... ok
{3} ironic.tests.unit.common.test_network.TestRemoveVifsTestCase.test_remove_vifs_from_node_failure [0.246571s] ... ok
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_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_version [0.022980s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_clears_polling_if_not_set [0.075240s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_483_owner_manager_can_create_allocation_with_their_uuid [0.199482s] ... 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-2859cce9-e137-457e-9116-fc201a3bf177
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_address [0.051183s] ... ok
{3} ironic.tests.unit.common.test_neutron.TestGetSegmentBySubnetUUID.test__get_segment_by_subnet_uuid [0.070625s] ... ok
{0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_community_snmp_v1 [0.025142s] ... ok
{0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_community_snmp_v2c [0.020818s] ... ok
{0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_driver [0.023264s] ... ok
{0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_outlet [0.023962s] ... ok
{3} ironic.tests.unit.common.test_neutron.TestGetSegmentBySubnetUUID.test__get_segment_by_subnet_uuid_failure [0.080293s] ... ok
{0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_user [0.033006s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_484_third_party_admin_cannot_read_an_allocation [0.154265s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations/4b79e748-16cc-41d0-803a-7fb69f3acd62 WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-b866ffb8-8847-44d1-9557-ed35069cffd3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 4b79e748-16cc-41d0-803a-7fb69f3acd62 could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_raritan_pdu2 [0.029984s] ... ok
{3} ironic.tests.unit.common.test_neutron.TestGetSegmentBySubnetUUID.test__get_segment_by_subnet_uuid_missing_segment [0.061221s] ... ok
{0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_read_community [0.043994s] ... ok
{0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_read_write_community [0.056421s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_485_third_party_admin_cannot_patch_an_allocation [0.140644s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/allocations/352096ef-5a00-4530-8073-828d79391277 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-ac8827fe-24e4-4d4e-b4d4-29a38b7614c9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 352096ef-5a00-4530-8073-828d79391277 could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_servertech_sentry3 [0.052586s] ... ok
{0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_servertech_sentry4 [0.061855s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_deploying_set_all [0.421637s] ... ok
{0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_port [0.046916s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_deploying_set_one [0.034715s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_486_third_party_admin_cannot_delete_an_allocation [0.147826s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/allocations/4b99793d-975a-4391-85dd-5deb2c1c306f GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-116eaa5b-1245-442c-8e41-88bf75f63d97
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 4b99793d-975a-4391-85dd-5deb2c1c306f could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_bios [0.025515s] ... ok
{0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_port_default [0.054426s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_fallback [0.024657s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_fallback_bios [0.020947s] ... ok
{0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v1 [0.044795s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_other_arch [0.021667s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_uefi [0.020407s] ... ok
{0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v2c [0.043224s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_uefi [0.021079s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template [0.023660s] ... ok
{0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3 [0.054269s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template_none [0.024314s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_487_owner_reader_can_read_node_allocation [0.208483s] ... 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-a03ca014-c624-4c30-a7b9-26b7227ec457
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "fb0876bf-7deb-4407-becc-92f8117aaff4", "created_at": "2025-05-30T17:29:04.951882+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/fb0876bf-7deb-4407-becc-92f8117aaff4", "rel": "self"}, {"href": "http://localhost/allocations/fb0876bf-7deb-4407-becc-92f8117aaff4", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"}
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template_none_bios [0.032379s] ... ok
{0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_badproto [0.050338s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template_override_pxe_fallback [0.024725s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_bios_without_by_arch [0.022172s] ... ok
{0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_default_proto [0.050156s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_cpu_in_by_arch [0.023917s] ... ok
{0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_key_proto [0.050837s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_cpu_not_in_by_arch [0.037278s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_emtpy_property [0.025685s] ... ok
{0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_nokey [0.045865s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_emtpy_property_bios_default [0.023588s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_uefi_without_by_arch [0.022120s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_488_lessee_reader_can_read_node_allocation [0.207611s] ... 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-e037e21a-1d2a-49e2-96dd-1e1ef842265e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "cadd4912-1b1a-45ce-bd5e-04a234e0c478", "created_at": "2025-05-30T17:29:05.172769+00:00", "updated_at": "2025-05-30T17:29:05.176532+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/cadd4912-1b1a-45ce-bd5e-04a234e0c478", "rel": "self"}, {"href": "http://localhost/allocations/cadd4912-1b1a-45ce-bd5e-04a234e0c478", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}
{0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_short_key [0.054317s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_bios_without_by_arch [0.031647s] ... ok
{3} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_auth_from_config [0.743130s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_cpu_in_by_arch [0.029667s] ... ok
{0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_compat [0.049666s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_cpu_not_in_by_arch [0.031866s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_emtpy_property [0.022375s] ... ok
{0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_context_engine_id [0.062105s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_emtpy_property_bios [0.023859s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_per_node [0.023734s] ... ok
{0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_context_name [0.048545s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_489_third_party_admin_cannot_read_node_allocation [0.176728s] ... 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-c333fc4f-68aa-46b8-8b4c-26078a0c43eb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_uefi_without_by_arch [0.022587s] ... ok
{0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_badproto [0.046351s] ... ok
{0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_default_proto [0.037431s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_anaconda [0.067412s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_key_proto [0.056478s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_anaconda_img_checked [0.062507s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_490_owner_admin_can_delete_allocation [0.163802s] ... 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-5005dba4-ec02-4090-aa18-db4ae671cb9f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_nokey [0.041089s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_image [0.066489s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_short_key [0.044252s] ... ok
{3} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_noauth [0.387028s] ... ok
{0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_teltronix [0.039182s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_image_checked [0.056246s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.SNMPValidateParametersTestCase.test__parse_driver_info_vertivgeist_pdu [0.051876s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_491_owner_manager_can_delete_allocation [0.157524s] ... 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-0a0f5848-7f1d-4dd8-9c6b-d0333eaccc0e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_partition_image [0.067170s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/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.SNMPValidateParametersTestCase.test__parse_driver_info_write_community [0.047468s] ... ok
{0} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_clean_and_deploy_step_all_args [0.048451s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_partition_image_checked [0.071847s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.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.DeployAndCleanStepDecoratorTestCase.test_deploy_and_clean_step_all_args [0.042740s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_image_not_found [0.051863s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_492_lessee_admin_can_delete_allocation [0.167804s] ... 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-e9d85b86-3126-4054-8ca8-ee3627173210
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_deploy_and_clean_step_priority_only [0.054387s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_image [0.057769s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.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.TestBootInterface.test_validate_rescue_default_impl [0.040159s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_image_fmt_checked [0.047539s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.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.TestManagementInterface.test_get_boot_mode_default_impl [0.047215s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_image_fmt_not_checked [0.045407s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.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.TestManagementInterface.test_get_indicator_state_default_impl [0.040763s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_493_lessee_manager_not_delete_allocation [0.158669s] ... 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-46a26976-c70f-4f95-9162-f94217405047
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_mac_addresses [0.042171s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_part_img_checked [0.058683s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.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.TestManagementInterface.test_get_supported_boot_modes_default_impl [0.039971s] ... ok
{3} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_context [0.478803s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_partition_image [0.047610s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.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.TestManagementInterface.test_get_supported_indicators_default_impl [0.036520s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_oci_url_local_download [0.046848s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_494_third_party_admin_cannot_delete_allocation [0.144043s] ... 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-dca359fe-4fd1-4a4e-ac36-0d2ce7db8332
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_inject_nmi_default_impl [0.044665s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_oci_url_remote_download [0.051267s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.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.TestManagementInterface.test_set_boot_mode_default_impl [0.050475s] ... ok
{0} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_set_indicator_state_default_impl [0.037178s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_oci_url_remote_download_rebuild [0.051780s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_495_owner_reader_cannot_get_deploy_templates [0.134045s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-5bc70086-a02b-4961-b900-b6adb2a856c7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_source_is_a_path [0.054200s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_source_redirect [0.055705s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.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_generic.ManualManagementHardwareTestCase.test_default_interfaces [0.142000s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_source_redirect_not_path [0.056508s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_496_lessee_reader_cannot_get_deploy_templates [0.151857s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-48b8c9fc-2c6d-4e08-a4ef-fde0a9491545
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_get_properties [0.059454s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_check_interface_capability [0.031439s] ... ok
{0} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_get_properties_none [0.063263s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_get_remote_boot_volume [0.050632s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_497_third_party_admin_cannot_get_deploy_templates [0.146930s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-d1de652d-c7d8-4cb4-ae58-f84f2a8fd984
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"}
{0} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_supported_interfaces [0.074777s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.075743s] ... ok
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_chassis.TestChassisObject.test_create [0.038537s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot [0.050775s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_chassis.TestChassisObject.test_get_bad_id_and_uuid [0.049774s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_exception [0.056019s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_chassis.TestChassisObject.test_get_by_id [0.051401s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_498_third_party_admin_cannot_post_deploy_template [0.171779s] ... 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-c14a37cd-fec8-4546-a2f9-ec3576455073
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_false [0.061194s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_chassis.TestChassisObject.test_get_by_uuid [0.046833s] ... ok
{0} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_list [0.037300s] ... ok
{3} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_without_token [0.747910s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_false_fc_target [0.075245s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_oci_registry.TestRegistrySessionHelper.test_get_token_from_config [0.022821s] ... ok
{0} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_payload_schemas [0.050612s] ... ok
{3} ironic.tests.unit.common.test_oci_registry.TestRegistrySessionHelper.test_get_token_from_config_bad_file [0.022981s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_499_service_cannot_get_deploy_templates [0.142844s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-426d2166-fbcc-480f-81d4-fae3025baca0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"}
{3} ironic.tests.unit.common.test_oci_registry.TestRegistrySessionHelper.test_get_token_from_config_default [0.018141s] ... ok
{0} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_refresh [0.034947s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_error [0.059505s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_oci_registry.TestRegistrySessionHelper.test_get_token_from_config_no_match [0.028124s] ... ok
{0} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_save [0.063917s] ... ok
{3} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipa_debug_rescue [0.067329s] ... ok
{0} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_save_after_refresh [0.075350s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_fc [0.159354s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_kernel_params_from_driver_info [0.081581s] ... ok
{0} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_create [0.038621s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_500_service_cannot_post_deploy_template [0.215806s] ... 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-4a5a7ee6-3a20-4be7-bbe9-8572c6d53dfe
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"}
{0} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_destroy [0.068378s] ... ok
{3} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_kernel_params_from_instance_info [0.100613s] ... ok
{0} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_id [0.050322s] ... ok
{2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_iscsi [0.134345s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_kernel_params_with_default [0.046921s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_501_owner_reader_cannot_access_chassis [0.116409s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-f9d2f8cf-1b42-453d-8e8f-8a151954fd6f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_name [0.044405s] ... ok
{3} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe [0.041070s] ... ok
{0} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_uuid [0.051090s] ... ok
{3} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_ipa_debug [0.048202s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_502_lessee_reader_cannot_access_chassis [0.079152s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-7a68529c-9ca1-4407-8e62-fc417ddfd406
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.test_deploy_utils.TestStorageInterfaceUtils.test_tear_down_storage_configuration [0.141597s] ... ok
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_deploy_template.TestDeployTemplateObject.test_list [0.056809s] ... ok
{3} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_local_boot [0.058164s] ... ok
{2} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch [0.028444s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_503_third_party_admin_cannot_access_chassis [0.079012s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-576e1076-93e4-4de4-a184-66a45233ddf3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.objects.test_deploy_template.TestDeployTemplateObject.test_list_by_names [0.044561s] ... ok
{2} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_already_gpt [0.055460s] ... ok
{3} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_no_kernel_no_ramdisk [0.074762s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_504_third_party_admin_cannot_create_chassis [0.066377s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-19a2cddc-19be-4816-960d-0f5557295854
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.objects.test_deploy_template.TestDeployTemplateObject.test_refresh [0.061587s] ... ok
{3} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_opts_ramdisk_opt [0.040730s] ... ok
{3} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_rescue [0.044802s] ... ok
{0} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_save [0.068392s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_505_service_cannot_access_chassis [0.066028s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-cdb3e964-e98f-4612-bd7b-0aa0bb1381b0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.objects.test_fields.TestFlexibleDictField.test_coerce [0.038614s] ... ok
{3} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_without_is_whole_disk_image [0.063411s] ... ok
{0} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce_bad_values [0.044387s] ... ok
{3} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ramdisk_params [0.044475s] ... ok
{2} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_already_raw [0.215764s] ... ok
{0} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce_nullable_translation [0.045838s] ... ok
{3} ironic.tests.unit.common.test_pxe_utils.TFTPImageCacheTestCase.test_with_master_path [0.029902s] ... ok
{2} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_convert_to_gpt [0.027562s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_506_service_cannot_create_chassis [0.149282s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-9d39da04-4707-4942-a849-f15f867a34e2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.common.test_pxe_utils.TFTPImageCacheTestCase.test_without_master_path [0.028719s] ... ok
{2} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_deep_inspection_disabled [0.032373s] ... ok
{3} ironic.tests.unit.common.test_qemu_img.ConvertImageTestCase.test_convert_image [0.022267s] ... ok
{2} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_disable_validation [0.024854s] ... ok
{3} ironic.tests.unit.common.test_qemu_img.ConvertImageTestCase.test_convert_image_flags [0.023861s] ... ok
{2} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_estimate_fallback [0.024136s] ... ok
{0} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test__repr__includes_default_function_name_and_source_hash [0.075667s] ... ok
{3} ironic.tests.unit.common.test_qemu_img.ConvertImageTestCase.test_convert_image_just_fails [0.033748s] ... ok
{2} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_format_does_not_match_glance [0.024435s] ... ok
{3} ironic.tests.unit.common.test_qemu_img.ConvertImageTestCase.test_convert_image_retries [0.023454s] ... ok
{2} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_not_safe_image [0.029044s] ... ok
{2} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_part_already_exists [0.030763s] ... ok
{0} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_default_as_function [0.098380s] ... ok
{2} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_ramdisk_image [0.033692s] ... ok
{3} ironic.tests.unit.common.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error [0.068178s] ... ok
{0} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_function [0.041187s] ... ok
{3} ironic.tests.unit.common.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails [0.030998s] ... ok
{3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier [0.023203s] ... ok
{2} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_ramdisk_kernel [0.070803s] ... ok
{0} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_function_invalid_type [0.057408s] ... ok
{3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier_no_notifier [0.030177s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_507_node_history_get_admin [0.283744s] ... 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-40febc83-2e69-4b07-bab0-da2ab56139ee
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"history": [{"uuid": "1fa619a3-1bb0-4b90-b910-aa796db55d5a", "created_at": "2025-05-30T17:29:07.974251+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/1fa619a3-1bb0-4b90-b910-aa796db55d5a", "rel": "self"}]}]}
{3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier_no_publisher_id [0.019996s] ... ok
{2} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_with_image_auth [0.054412s] ... ok
{0} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_invalid_type [0.046630s] ... ok
{3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier [0.018902s] ... ok
{2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheDownload.test__download_image [0.025408s] ... ok
{3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier_no_notifier [0.018315s] ... ok
{0} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_string [0.045663s] ... ok
{3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier_no_publisher_id [0.019035s] ... ok
{2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheDownload.test__download_image_disable_validation [0.028201s] ... ok
{2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheDownload.test__download_image_large_url [0.033069s] ... ok
{3} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_notifications_disabled [0.041217s] ... ok
{0} ironic.tests.unit.objects.test_node.TestNodeObject.test__validate_property_values_success [0.049241s] ... ok
{2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheDownload.test__download_image_linkfail [0.033882s] ... ok
{3} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_notifications_enabled [0.040926s] ... ok
{2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheDownload.test__download_image_raises_memory_guard [0.023544s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_508_node_history_get_member [0.172753s] ... 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-55d3583f-de13-4b17-9ef0-997a1061931c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"history": [{"uuid": "9fe46fbc-bbda-4963-9243-955e449867bc", "created_at": "2025-05-30T17:29:08.163163+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/9fe46fbc-bbda-4963-9243-955e449867bc", "rel": "self"}]}]}
{3} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_with_custom_topics [0.037721s] ... ok
{2} ironic.tests.unit.drivers.modules.test_image_utils.Ilo5ImageHandlerTestCase.test_ilo5_kernel_param_config [0.035655s] ... ok
{2} ironic.tests.unit.drivers.modules.test_inspect_utils.RunInspectionHooksTestCase.test_no_on_error [0.057054s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_509_node_history_get_reader [0.155503s] ... 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-aee5954b-e64a-4d35-becf-b6df4981255a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"history": [{"uuid": "fed60bd9-71bf-4c64-965f-40f3056b126c", "created_at": "2025-05-30T17:29:08.331423+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/fed60bd9-71bf-4c64-965f-40f3056b126c", "rel": "self"}]}]}
{2} ironic.tests.unit.drivers.modules.test_inspect_utils.RunInspectionHooksTestCase.test_post_hook_on_error_callback [0.067864s] ... ok
{2} ironic.tests.unit.drivers.modules.test_inspect_utils.RunInspectionHooksTestCase.test_pre_hook_on_error_callback [0.067571s] ... ok
{0} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_insecure [0.303573s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls [0.047423s] ... ok
{0} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure [0.023971s] ... ok
{3} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_check_orphaned_allocations [0.282286s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_acl.TestRBACProjectScoped.test_project_scoped_510_node_history_get_service [0.160432s] ... 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-d63a094f-47a1-44fd-b122-d27606c4dd6c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"history": [{"uuid": "9e563fff-5785-47d6-9349-e862ca24e898", "created_at": "2025-05-30T17:29:08.490740+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/9e563fff-5785-47d6-9349-e862ca24e898", "rel": "self"}]}]}
{0} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure_configdrive_as_dict [0.038771s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_already_checked [0.048728s] ... ok
{0} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure_with_configdrive [0.046825s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_for_socat [0.045736s] ... ok
{3} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_create_allocation [0.073896s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.objects.test_node.TestNodeObject.test_as_dict_secure_with_configdrive_as_dict [0.052334s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_for_socat_already_checked [0.048389s] ... ok
{3} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_create_allocation_with_node_id [0.075087s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.objects.test_node.TestNodeObject.test_as_dict_with_traits [0.050634s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_511_node_history_get_service_cannot_be_retrieved [0.158950s] ... 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-8ea4a889-8fd3-4355-911e-e11300fa5f44
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_management_init_calls [0.048900s] ... ok
{3} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_active_node [0.049448s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IPMIToolCheckInitTestCase.test_management_init_calls_already_checked [0.048209s] ... ok
{0} ironic.tests.unit.objects.test_node.TestNodeObject.test_create [0.060403s] ... ok
{3} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_node [0.051053s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IPMIToolCheckInitTestCase.test_power_init_calls [0.045336s] ... ok
{0} ironic.tests.unit.objects.test_node.TestNodeObject.test_create_with_invalid_properties [0.062082s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_already_checked [0.052443s] ... ok
{3} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_node_in_maintenance [0.064321s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_512_node_history_get_entry_admin [0.167794s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/03146f04-b2f8-4a9c-8262-f9b2bc4e24ce WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-1f43f2f6-3831-411e-805e-21c9c8b45611
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "03146f04-b2f8-4a9c-8262-f9b2bc4e24ce", "created_at": "2025-05-30T17:29:08.812444+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/03146f04-b2f8-4a9c-8262-f9b2bc4e24ce", "rel": "self"}]}
{0} ironic.tests.unit.objects.test_node.TestNodeObject.test_create_with_traits [0.081590s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_1 [0.052100s] ... ok
{3} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_transient_node [0.072053s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IPMIToolCheckInitTestCase.test_power_init_calls_raises_2 [0.044083s] ... ok
{3} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_without_node [0.037125s] ... ok
{0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_bad_id_and_uuid [0.079890s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_3 [0.045643s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_513_node_history_get_entry_member [0.152335s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/5a18633f-904f-426f-a0b7-5dd1a101c06a WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-ffabe16f-b32b-4820-b03e-d100d790bb5b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "5a18633f-904f-426f-a0b7-5dd1a101c06a", "created_at": "2025-05-30T17:29:08.981867+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/5a18633f-904f-426f-a0b7-5dd1a101c06a", "rel": "self"}]}
{3} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_resume_allocations [0.069831s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.IPMIToolCheckInitTestCase.test_vendor_passthru_init_calls [0.050581s] ... ok
{0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_id [0.073203s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_vendor_passthru_init_calls_already_checked [0.049015s] ... ok
{3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_candidate_nodes_mismatch [0.051008s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestNodeObject.test_get_by_instance_not_found [0.049836s] ... ok
{0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_instance_uuid [0.024444s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_IPMI_version_1_5 [0.064241s] ... ok
{0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_name [0.026552s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_514_node_history_get_entry_reader [0.159274s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/5367acf3-93aa-46b8-a003-8466924683a2 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-30275084-1709-4d18-a294-e88e2cda5f6c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "5367acf3-93aa-46b8-a003-8466924683a2", "created_at": "2025-05-30T17:29:09.134785+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/5367acf3-93aa-46b8-a003-8466924683a2", "rel": "self"}]}
{0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_name_node_not_found [0.025902s] ... ok
{3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_node_associated_with_another_instance [0.092698s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_cipher_suite [0.067991s] ... ok
{0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_port_addresses [0.031754s] ... ok
{3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_non_existing_node [0.068076s] ... ok
{0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_uuid [0.057199s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_cipher_suite_error_noconfig [0.075238s] ... ok
{0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_interface [0.044500s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_515_lessee_node_history_get_admin [0.164307s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/f5b073bb-bedf-4961-942b-aa437c040bf8/history WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-2888c2d6-c707-4193-b8d2-ed47b62f6ae6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node f5b073bb-bedf-4961-942b-aa437c040bf8 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_cipher_suite_set_with_error_config [0.062509s] ... ok
{3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_resource_class_mismatch [0.110471s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestNodeObject.test_get_interface_overriden [0.062563s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_cipher_suite_set_with_error_noconfig [0.063653s] ... ok
{0} ironic.tests.unit.objects.test_node.TestNodeObject.test_list [0.049219s] ... ok
{3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_state_not_active [0.115174s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestNodeObject.test_list_with_fields [0.075023s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_exception [0.094224s] ... ok
{0} ironic.tests.unit.objects.test_node.TestNodeObject.test_list_with_fields_empty_trait_present [0.075380s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_first_call_to_address [0.079676s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_second_call_to_address_no_sleep [0.062422s] ... ok
{0} ironic.tests.unit.objects.test_node.TestNodeObject.test_list_with_fields_traits [0.082681s] ... ok
{3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_traits_mismatch [0.198076s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_second_call_to_address_sleep [0.070606s] ... ok
{0} ironic.tests.unit.objects.test_node.TestNodeObject.test_payload_schemas [0.078326s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_try_different_cipher_suite [0.065048s] ... ok
{0} ironic.tests.unit.objects.test_node.TestNodeObject.test_refresh [0.065054s] ... ok
{3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_uuid_associated_with_another_instance [0.151709s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_two_calls_to_diff_address [0.060310s] ... ok
{0} ironic.tests.unit.objects.test_node.TestNodeObject.test_release [0.066952s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_516_lessee_node_history_get_member [0.549350s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/99e8ea3e-063f-4a65-a6ed-1e69101e8a33/history WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-a68aabd7-0bff-43ac-bba8-8cc524c68861
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 99e8ea3e-063f-4a65-a6ed-1e69101e8a33 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_with_check_exit_code [0.062473s] ... ok
{0} ironic.tests.unit.objects.test_node.TestNodeObject.test_release_node_not_found [0.068535s] ... ok
{3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_associated_node [0.122380s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_with_dual_bridging [0.061955s] ... ok
{0} ironic.tests.unit.objects.test_node.TestNodeObject.test_reserve [0.054895s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_517_lessee_node_history_get_reader [0.146843s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/4a0405a5-a3c1-4e00-b484-af08b94fca74/history WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-fc47bcdb-7e66-415e-b588-9ca5480c111a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 4a0405a5-a3c1-4e00-b484-af08b94fca74 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_with_empty_username [0.060519s] ... ok
{0} ironic.tests.unit.objects.test_node.TestNodeObject.test_reserve_node_not_found [0.056261s] ... ok
{3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_candidate_nodes [0.106435s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_with_ironic_retries [0.062306s] ... ok
{0} ironic.tests.unit.objects.test_node.TestNodeObject.test_save [0.054881s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_with_port [0.063253s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_518_lessee_node_history_get_entry_admin [0.152422s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/fd37efa9-bf2d-4d4b-b7e7-9f60cf64e29f/history/fcbfaf72-2c92-4329-8b15-eede2051492d WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-520359e8-72c1-43c8-97ec-ade30aa3159e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node fd37efa9-bf2d-4d4b-b7e7-9f60cf64e29f could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_unassociated_node [0.116150s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestNodeObject.test_save_after_refresh [0.102119s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_with_single_bridging [0.063864s] ... ok
{3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_without_resource_class [0.071894s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestNodeObject.test_save_truncated [0.067233s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_with_timeout [0.077506s] ... ok
{0} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_updated_at_field [0.028655s] ... ok
{3} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_name_match_first [0.055952s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestNodeObject.test_save_with_conductor_group [0.027806s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_519_lessee_history_get_entry_member [0.163387s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/5421a3de-b4e8-495e-ae15-5a6d0b0ab36c/history/0d30f3d0-1d1d-4495-9e89-43c66e5d73ac WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-5157bee1-be4c-4030-bfb6-370b5a172129
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 5421a3de-b4e8-495e-ae15-5a6d0b0ab36c could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group_fail [0.024974s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_with_timing [0.062007s] ... ok
{3} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_candidates_do_not_match [0.037738s] ... ok
{0} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group_uppercase [0.026191s] ... ok
{0} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_traits [0.028337s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_without_timing [0.068093s] ... ok
{3} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_changed_after_lock [0.071834s] ... ok
{0} ironic.tests.unit.objects.test_node.TestNodeObject.test_touch_provisioning [0.032460s] ... ok
{0} ironic.tests.unit.objects.test_node.TestNodeObject.test_update_with_invalid_properties [0.024488s] ... ok
{3} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_filtered_out [0.041265s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_520_lessee_node_history_get_entry_reader [0.154198s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/d0a619e1-613e-4d16-86d2-532a4e7d54d1/history/743b4f38-e895-4d92-8322-a4b05c89e442 WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-92800f16-c9ae-4870-8c57-30da8eab4c4b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node d0a619e1-613e-4d16-86d2-532a4e7d54d1 could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_create [0.023863s] ... ok
{0} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_destroy [0.024126s] ... ok
{3} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_filtered_out_project [0.040680s] ... ok
{0} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_get [0.024908s] ... ok
{0} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_get_by_id [0.027384s] ... ok
{3} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_locked [0.067607s] ... ok
{0} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_get_by_uuid [0.027824s] ... ok
{0} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_list [0.022320s] ... ok
{3} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_success [0.043979s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_history.TestNodeHistoryObject.test_list_by_node_id [0.024662s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_521_owner_service_node_history_get_entry_reader [0.169689s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/8c59e42a-d77f-4598-a9d4-9dff548e7833 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-1ea53184-5f96-4006-b3d0-30e865b635d2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "8c59e42a-d77f-4598-a9d4-9dff548e7833", "created_at": "2025-05-30T17:29:10.632835+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/8c59e42a-d77f-4598-a9d4-9dff548e7833", "rel": "self"}]}
{0} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_list_none [0.023098s] ... ok
{3} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_with_candidates [0.047196s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.025121s] ... ok
{0} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_map_version_bad [0.026498s] ... ok
{3} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_with_traits [0.053249s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.024855s] ... ok
{3} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker [0.019896s] ... ok
{0} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict [0.020716s] ... ok
{3} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker_cannot_use_reserved [0.021691s] ... ok
{0} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict_with_nested_object [0.026693s] ... ok
{3} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker_no_reserved [0.027692s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_522_third_party_admin_cannot_get_node_history [0.149181s] ... 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-70cbe1a7-3a10-4a16-9052-a2580a84aadd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict_with_nested_object_list [0.021115s] ... ok
{3} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker_none_free [0.026034s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_without_username [0.411828s] ... ok
{3} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker_reserved [0.029097s] ... ok
{0} ironic.tests.unit.objects.test_objects.TestObject.test_assign_value_without_DictCompat [0.042936s] ... ok
{0} ironic.tests.unit.objects.test_objects.TestObject.test_base_attributes [0.021911s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__prepare_ipmi_password_str_password [0.057096s] ... ok
{0} ironic.tests.unit.objects.test_objects.TestObject.test_changed_1 [0.020005s] ... ok
{0} ironic.tests.unit.objects.test_objects.TestObject.test_changed_2 [0.019210s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__prepare_ipmi_password_with_numeric_password [0.055436s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_523_node_history_get_entry_third_party_admin [0.144947s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/900aea16-1a17-4c3d-9cf1-46ecb0312f8f WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-74325acf-2c2b-486b-820b-3eaba8425077
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.objects.test_objects.TestObject.test_changed_3 [0.037555s] ... ok
{3} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles [0.106285s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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(
{0} ironic.tests.unit.objects.test_objects.TestObject.test_changed_4 [0.048163s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test_exec_ipmitool_exception_non_retryable_failure_bmc_initialization_in_progress [0.071738s] ... ok
{0} ironic.tests.unit.objects.test_objects.TestObject.test_changes_in_primitive [0.035965s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_524_node_history_get_entry_service [0.086535s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/5a213c64-1536-44bc-8719-93e8312273ca WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-bfb40f36-4630-4241-ac9f-333b5bcb8312
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_failed [0.111299s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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(
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test_exec_ipmitool_exception_non_retryable_failure_insufficient_resources_for_session [0.062602s] ... ok
{0} ironic.tests.unit.objects.test_objects.TestObject.test_contains [0.044931s] ... ok
{0} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_new [0.041127s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_525_node_inventory_get_admin [0.098887s] ... 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-6f475f87-bd9f-44c4-9e23-d9b1080ee4e4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"inventory": {"inventory": "test"}, "plugin_data": {"pdata": {"plugin": "data"}}}
{3} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_no_console_enabled [0.071542s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test_exec_ipmitool_exception_non_retryable_failure_node_busy [0.062676s] ... ok
{0} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_old [0.039394s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test_exec_ipmitool_exception_non_retryable_failure_out_of_space [0.058644s] ... ok
{0} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_old_keep [0.036533s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_526_node_inventory_get_member [0.078552s] ... 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-4472cf4a-4f63-417d-96bc-c9a562367855
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"inventory": {"inventory": "test"}, "plugin_data": {"pdata": {"plugin": "data"}}}
{3} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_node_locked [0.096786s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.objects.test_objects.TestObject.test_convert_to_version_same [0.049473s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test_exec_ipmitool_exception_non_retryable_failure_timeout [0.075801s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_527_node_inventory_get_reader [0.070171s] ... 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-4d32e831-2afd-442a-985c-61eaec6820ea
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"inventory": {"inventory": "test"}, "plugin_data": {"pdata": {"plugin": "data"}}}
{0} ironic.tests.unit.objects.test_objects.TestObject.test_dehydration [0.051800s] ... ok
{3} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_node_not_found [0.101235s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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)
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test_exec_ipmitool_exception_retries_exceeded_bmc_initialization_in_progress [0.064229s] ... ok
{0} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db [0.052870s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_528_lessee_node_inventory_get_admin [0.081556s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/b0b89a13-3b01-486f-ba64-032c5e48f300/inventory WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-7b212bd5-e807-4c4c-baa1-599b2b520044
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node b0b89a13-3b01-486f-ba64-032c5e48f300 could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db_downgrade [0.047620s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test_exec_ipmitool_exception_retries_exceeded_insufficient_resources_for_session [0.069298s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_529_lessee_node_inventory_get_member [0.080424s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/68ed94f7-1054-47e8-b782-bcf3032944ef/inventory WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-9faf0328-aea3-4f76-bb57-13b51c1e1e1c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 68ed94f7-1054-47e8-b782-bcf3032944ef could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db_pinned [0.056045s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test_exec_ipmitool_exception_retries_exceeded_node_busy [0.065277s] ... ok
{3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_conductor_shutdown_flag [0.147536s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.objects.test_objects.TestObject.test_get [0.046862s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_530_lessee_node_inventory_get_reader [0.079197s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/db90ac05-78f1-4e58-8ffd-8a9853ff26ce/inventory WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-d83023e2-23a5-4924-871b-ace5699ce89e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node db90ac05-78f1-4e58-8ffd-8a9853ff26ce could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test_exec_ipmitool_exception_retries_exceeded_out_of_space [0.073344s] ... ok
{0} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes [0.044975s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_531_shard_get_shards_disallowed [0.065811s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/shards WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-76dfb8f9-baee-4e6e-bb6b-c1485e01903b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:shards:get\", \"debuginfo\": null}"}
{0} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes_pinned [0.044903s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test_exec_ipmitool_exception_retries_exceeded_timeout [0.066385s] ... ok
{0} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes_pinned_2versions [0.050144s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_532_shard_patch_set_node_shard_disallowed [0.071546s] ... 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-6d5bdebb-98f2-4b41-9486-9c36ea3d5298
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:shard\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test_exec_ipmitool_exception_retry_bmc_initialization_in_progress [0.064830s] ... ok
{0} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_no_pin [0.042164s] ... ok
{0} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned [0.048296s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_533_parent_node_patch_by_admin [0.073426s] ... 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-ba9159c7-4cc5-452f-a07b-e8201c2558d3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:parent_node\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test_exec_ipmitool_exception_retry_insufficient_resources_for_session [0.068538s] ... ok
{3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_del_host_waits_on_workerpool [0.295372s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.objects.test_objects.TestObject.test_get_target_version_pinned_bad [0.051158s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test_exec_ipmitool_exception_retry_node_busy [0.063498s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_534_parent_node_patch_by_member [0.089434s] ... 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-1f37abff-7681-4880-918c-d670680cee73
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:parent_node\", \"debuginfo\": null}"}
{0} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned_no_myobj [0.050593s] ... ok
{3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_del_host_with_mdns [0.067173s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.objects.test_objects.TestObject.test_get_updates [0.033871s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test_exec_ipmitool_exception_retry_out_of_space [0.065325s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_535_parent_node_patch_by_reader [0.086122s] ... 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-88631656-757e-470a-a7ce-81ea90aabd74
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:parent_node\", \"debuginfo\": null}"}
{0} ironic.tests.unit.objects.test_objects.TestObject.test_hydration [0.045670s] ... ok
{3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_prevent_double_start [0.083796s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test_exec_ipmitool_exception_retry_timeout [0.081069s] ... ok
{0} ironic.tests.unit.objects.test_objects.TestObject.test_hydration_bad_ns [0.067500s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_536_parent_node_patch_by_manager [0.081249s] ... 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-3bf28a55-c23b-41dc-8914-f717a57f0791
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:parent_node\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__exec_stop_console [0.077044s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_537_parent_node_patch_by_cannot_see_node [0.078484s] ... 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-44f20991-c4d4-4300-9de5-9f678ba8244e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unable to apply the requested parent_node. Requested value was invalid.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_clears_conductor_locks [0.158135s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_acl.TestRBACProjectScoped.test_project_scoped_538_parent_node_children_can_get_list_of_children [0.078237s] ... 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-ac7b374d-7dbb-4f0d-81bc-4fef69f73b20
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"children": ["3c3b8adb-edd7-3ed0-8e82-aab714d8411a"], "links": {"href": "http://localhost/v1/nodes?parent_node=1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "children"}}
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__get_ipmi_cmd [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(
{3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_dbapi_single_call [0.160396s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.IPMIToolSocatDriverTestCase.test__get_ipmi_cmd_without_user [0.080139s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_539_lessee_cannot_get_a_nodes_children [0.186859s] ... 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-a3fb3526-0097-4749-8a29-60141b455f28
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console [0.093147s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_base_manager.StartStopTestCase.test_start_fails_hw_type_register [0.127018s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (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.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_hw_types [0.093738s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (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.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_empty_password [0.179806s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_base_manager.StartStopTestCase.test_start_fails_on_missing_driver [0.057861s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_540_owner_reader_can_get_firmware_components [0.191700s] ... 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-f8b831e7-20e0-4dab-b575-52fd919d7ee2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"firmware": []}
{0} ironic.tests.unit.objects.test_objects.TestObject.test_hydration_type_error [0.548751s] ... ok
{0} ironic.tests.unit.objects.test_objects.TestObject.test_load [0.029967s] ... ok
{0} ironic.tests.unit.objects.test_objects.TestObject.test_load_in_base [0.026048s] ... ok
{0} ironic.tests.unit.objects.test_objects.TestObject.test_loaded_in_primitive [0.032488s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_fail [0.105275s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_attr_is_set [0.024182s] ... ok
{0} ironic.tests.unit.objects.test_objects.TestObject.test_obj_constructor [0.021605s] ... ok
{0} ironic.tests.unit.objects.test_objects.TestObject.test_obj_fields [0.029424s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_541_lessee_reader_can_get_firmware_components [0.181231s] ... 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-0b7d2dc9-b7e5-4cca-aef3-85629cd7e74e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"firmware": []}
{0} ironic.tests.unit.objects.test_objects.TestObject.test_object_inheritance [0.020427s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_fail_nodir [0.083890s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.021976s] ... ok
{0} ironic.tests.unit.objects.test_objects.TestObject.test_object_property_type_error [0.029117s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate [0.065057s] ... ok
{0} ironic.tests.unit.objects.test_objects.TestObject.test_orphaned_object [0.029295s] ... ok
{0} ironic.tests.unit.objects.test_objects.TestObject.test_refresh_object [0.029771s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_invalid_port [0.046101s] ... ok
{0} ironic.tests.unit.objects.test_objects.TestObject.test_static_result [0.021645s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_missing_port [0.034258s] ... ok
{0} ironic.tests.unit.objects.test_objects.TestObject.test_supports_version [0.022418s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_542_third_party_admin_cannot_get_firmware_components [0.173479s] ... 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-ad34e903-e83c-4fca-9c95-5ef173c57754
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.objects.test_objects.TestObject.test_unknown_objtype [0.042458s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_missing_port_auto_allocate [0.043537s] ... ok
{0} ironic.tests.unit.objects.test_objects.TestObject.test_updates [0.029156s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_wrong_ipmi_protocol_version [0.040009s] ... ok
{0} ironic.tests.unit.objects.test_objects.TestObject.test_with_alternate_context [0.020946s] ... ok
{0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_api [0.020430s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_get_console [0.049692s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestObjectSerializer.test__process_object_conductor [0.024529s] ... ok
{0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_convert_api [0.020038s] ... ok
{0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_convert_conductor [0.019638s] ... ok
{0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport [0.018485s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console [0.065593s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_543_service_can_get_firmware_components_owner_project [0.190641s] ... 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-e025adac-a1fc-4e81-9230-e536a0402ae8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"firmware": []}
{0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport_zero [0.025945s] ... ok
{3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_recover_nodes_stuck [0.591675s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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()
{0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_backports [0.025286s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console_alloc_port [0.069487s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestObjectSerializer.test_deserialize_entity_newer_version_passes_revision [0.027198s] ... ok
{0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_pin_ignored [0.022728s] ... ok
{0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_same_revision_does_not_backport [0.020099s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console_with_port [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.objects.test_objects.TestObjectSerializer.test_object_serialization [0.020399s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_544_service_cannot_get_firmware_components [0.167270s] ... 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-ad065b3b-bc13-4bd9-a263-22bb74875836
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"}
{0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization_iterables [0.030996s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_stop_console [0.047228s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_base_manager.StartStopTestCase.test_start_registers_conductor [0.152634s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.objects.test_objects.TestObjectSerializer.test_serialize_entity_invalid_pin [0.038542s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_stop_console_fail [0.048025s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestObjectSerializer.test_serialize_entity_pinned_api [0.032525s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue [0.042260s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestObjectSerializer.test_serialize_entity_pinned_conductor [0.029831s] ... ok
{0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_unpinned_api [0.034275s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue_fails_no_rescue_kernel [0.046040s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestObjectSerializer.test_serialize_entity_unpinned_conductor [0.042629s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_545_runbooks_post_admin [0.182752s] ... 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/10774b15-7971-4b98-9b5a-2aef7890d4b5
Openstack-Request-Id: req-498855a8-3917-4bd7-bc3b-5cb6fe1d27e5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "10774b15-7971-4b98-9b5a-2aef7890d4b5", "created_at": "2025-05-30T17:29:13.486105+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/10774b15-7971-4b98-9b5a-2aef7890d4b5", "rel": "self"}, {"href": "http://localhost/runbooks/10774b15-7971-4b98-9b5a-2aef7890d4b5", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "noop", "args": {}, "order": 0}]}
{2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue_no_rescue_ramdisk [0.059341s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestRegistry.test_hook_chooses_newer_properly [0.048435s] ... ok
{0} ironic.tests.unit.objects.test_objects.TestRegistry.test_hook_keeps_newer_properly [0.024515s] ... ok
{0} ironic.tests.unit.pxe_filter.test_dnsmasq.TestHelpers.test__allowlist_mac [0.021695s] ... ok
{0} ironic.tests.unit.pxe_filter.test_dnsmasq.TestHelpers.test__allowlist_unknown_hosts [0.024438s] ... ok
{3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_driver_names [0.274089s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_pxe.PXEAnacondaDeployTestCase.test_deploy [0.107372s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{0} ironic.tests.unit.pxe_filter.test_dnsmasq.TestHelpers.test__configure_removedlist_allowlist [0.027092s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_546_runbooks_post_manager [0.160631s] ... 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/6699504f-df43-4f64-9c4b-882bb4b05139
Openstack-Request-Id: req-6a484147-fd8f-4c3e-a939-d37f878fefe9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "6699504f-df43-4f64-9c4b-882bb4b05139", "created_at": "2025-05-30T17:29:13.651978+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/6699504f-df43-4f64-9c4b-882bb4b05139", "rel": "self"}, {"href": "http://localhost/runbooks/6699504f-df43-4f64-9c4b-882bb4b05139", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "noop", "args": {}, "order": 0}]}
{0} ironic.tests.unit.pxe_filter.test_dnsmasq.TestHelpers.test__configure_removedlist_denylist [0.021315s] ... ok
{0} ironic.tests.unit.pxe_filter.test_dnsmasq.TestHelpers.test__denylist_mac [0.021006s] ... ok
{2} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_heartbeat_deploy_end [0.063457s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{0} ironic.tests.unit.pxe_filter.test_dnsmasq.TestHelpers.test__denylist_unknown_hosts [0.023457s] ... ok
{3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_driver_specific_tasks [0.096536s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.pxe_filter.test_dnsmasq.TestHelpers.test__get_allowlist [0.020546s] ... ok
{0} ironic.tests.unit.pxe_filter.test_dnsmasq.TestHelpers.test__get_denylist [0.023965s] ... ok
{2} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_heartbeat_deploy_error [0.068774s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{0} ironic.tests.unit.pxe_filter.test_dnsmasq.TestHelpers.test__get_no_allowlist [0.025581s] ... ok
{0} ironic.tests.unit.pxe_filter.test_dnsmasq.TestHelpers.test__get_no_denylist [0.040291s] ... ok
{2} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_heartbeat_deploy_start [0.065471s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_547_service_post_runbook [0.171787s] ... 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/bc99ccfb-ef3e-49a3-9964-2363a661cf9d
Openstack-Request-Id: req-31d9a05c-13a7-431d-a4e7-06f338e33ece
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "bc99ccfb-ef3e-49a3-9964-2363a661cf9d", "created_at": "2025-05-30T17:29:13.824806+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/bc99ccfb-ef3e-49a3-9964-2363a661cf9d", "rel": "self"}, {"href": "http://localhost/runbooks/bc99ccfb-ef3e-49a3-9964-2363a661cf9d", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "noop", "args": {}, "order": 0}]}
{3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_json_rpc [0.145984s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_pxe.PXEAnacondaDeployTestCase.test_prepare [0.113173s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_548_third_party_admin_post_runbook [0.171148s] ... 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/4de6519b-7151-410b-9d18-9390fbe7abc3
Openstack-Request-Id: req-208b850c-dfd8-49cb-b8cc-b7b98b38788f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "4de6519b-7151-410b-9d18-9390fbe7abc3", "created_at": "2025-05-30T17:29:14.002703+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/4de6519b-7151-410b-9d18-9390fbe7abc3", "rel": "self"}, {"href": "http://localhost/runbooks/4de6519b-7151-410b-9d18-9390fbe7abc3", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "noop", "args": {}, "order": 0}]}
{2} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_prepare_active [0.064180s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_base_manager.StartStopTestCase.test_start_with_json_rpc_port [0.152338s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_pxe.PXEAnacondaDeployTestCase.test_prepare_cleaning [0.050525s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.PXEAnacondaDeployTestCase.test_reboot_to_instance [0.098383s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_549_runbooks_post_public_admin [0.160095s] ... 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-3f4a78a5-ad37-4768-8fdc-d4f0a040c017
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot create a public runbook as a project scoped admin.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_mdns [0.160897s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_pxe.iPXEBootRetryTestCase.test_check_boot_status_maintenance [0.051353s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.iPXEBootRetryTestCase.test_check_boot_status_not_retry_with_token [0.043037s] ... ok
{2} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_recent_power_change [0.038667s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_550_runbooks_post_public_manager [0.153939s] ... 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-957f6902-dcd5-45bb-9bbf-9df55a719294
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot create a public runbook as a project scoped admin.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_mdns_and_debug [0.147688s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_pxe.iPXEBootRetryTestCase.test_check_boot_status_retry [0.043659s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.iPXEBootRetryTestCase.test_check_boot_status_wrong_state [0.045685s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_base_manager.StartStopTestCase.test_start_with_no_enabled_interfaces [0.149450s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_acl.TestRBACProjectScoped.test_project_scoped_551_runbooks_post_public_service [0.168408s] ... 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-c555346f-5d5e-4274-960a-25160208ba90
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot create a public runbook as a project scoped admin.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_timeouts [0.230832s] ... ok
{3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_without_jsonrpc_port_pined_version [0.154906s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_ramdisk.RamdiskDeployTestCase.test_deploy [0.089377s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_ramdisk.RamdiskDeployTestCase.test_deploy_with_configdrive [0.095513s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_base_manager.StartStopTestCase.test_stop_clears_conductor_locks [0.179809s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_base_manager.StartStopTestCase.test_stop_doesnt_unregister_conductor [0.144327s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_acl.TestRBACProjectScoped.test_project_scoped_552_runbooks_patch_admin [0.538008s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/86cb67d8-b391-4056-a970-843a2abf0def WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_NAME'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-574acf79-bbbb-4b6c-ab5a-0e50e74cfead
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "86cb67d8-b391-4056-a970-843a2abf0def", "created_at": "2025-05-30T17:29:14.907044+00:00", "updated_at": "2025-05-30T17:29:15.017934+00:00", "name": "CUSTOM_NAME", "extra": {}, "public": false, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/86cb67d8-b391-4056-a970-843a2abf0def", "rel": "self"}, {"href": "http://localhost/runbooks/86cb67d8-b391-4056-a970-843a2abf0def", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
{3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_uninitialized_conductor [0.078954s] ... ok
{2} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_deploy_with_smartnic_port [0.248040s] ... ok
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_ramdisk.RamdiskDeployTestCase.test_execute_clean_step [0.044792s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_base_manager.StartStopTestCase.test_stop_unregisters_conductor [0.088362s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_ramdisk.RamdiskDeployTestCase.test_get_clean_steps [0.045313s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_553_runbooks_patch_manager [0.128328s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/1c4e6c1e-73f7-4186-8966-b3622a2c403d WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_NAME'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-28f5c66a-4973-4248-bd53-2a76556d41f7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1c4e6c1e-73f7-4186-8966-b3622a2c403d", "created_at": "2025-05-30T17:29:15.092008+00:00", "updated_at": "2025-05-30T17:29:15.155060+00:00", "name": "CUSTOM_NAME", "extra": {}, "public": false, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/1c4e6c1e-73f7-4186-8966-b3622a2c403d", "rel": "self"}, {"href": "http://localhost/runbooks/1c4e6c1e-73f7-4186-8966-b3622a2c403d", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
{2} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_get_deploy_steps [0.044114s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_base_manager.StartStopTestCase.test_warning_on_low_workers_pool [0.091480s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_ramdisk.RamdiskDeployTestCase.test_prepare [0.062754s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_554_service_patch_runbook [0.091205s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/1a38daca-4f0e-4a60-85ed-2fb62637ecd3 WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_NAME'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-33597723-2232-40da-b081-d88d75f23ee6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "1a38daca-4f0e-4a60-85ed-2fb62637ecd3", "created_at": "2025-05-30T17:29:15.194178+00:00", "updated_at": "2025-05-30T17:29:15.247248+00:00", "name": "CUSTOM_NAME", "extra": {}, "public": false, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/1a38daca-4f0e-4a60-85ed-2fb62637ecd3", "rel": "self"}, {"href": "http://localhost/runbooks/1a38daca-4f0e-4a60-85ed-2fb62637ecd3", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
{3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanAbortTestCase.test__do_node_clean_abort_tear_down_fail [0.057547s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_ramdisk.RamdiskDeployTestCase.test_prepare_active [0.060572s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.048268s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_555_project_admin_delete_runbook [0.077627s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/runbooks/6ef4bf92-5284-4ee1-8a22-7c0ad19c6243 GOT Response: 204 No Content
Openstack-Request-Id: req-6db575dd-c5e6-402a-baa4-a7c5558bfece
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{2} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare_cleaning [0.045626s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.047579s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_556_project_manager_delete_runbook [0.074634s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/runbooks/65ddcb22-961e-4126-9a83-53e7736f5222 GOT Response: 204 No Content
Openstack-Request-Id: req-d7c924f5-2ec5-47cb-ad2d-06ce2188770a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanAbortTestCase.test_do_node_clean_abort_with_step [0.053016s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_ramdisk.RamdiskDeployTestCase.test_prepare_instance_ramdisk [0.104531s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_557_service_get_runbooks [0.075478s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/runbooks WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-32534785-f1ba-4520-94b2-9def8a931a8e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"runbooks": [{"uuid": "222d9b63-3645-4ea7-bfb4-48a575f37ca4", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/runbooks/222d9b63-3645-4ea7-bfb4-48a575f37ca4", "rel": "self"}, {"href": "http://localhost/runbooks/222d9b63-3645-4ea7-bfb4-48a575f37ca4", "rel": "bookmark"}]}]}
{2} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare_unrescuing [0.055544s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.ChangeNodeBootModeTestCase.test_change_node_boot_mode_exception_getting_current [0.107194s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.test_acl.TestRBACProjectScoped.test_project_scoped_558_runbooks_project_admin [0.068963s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/runbooks WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-e93c40ed-f2ad-4b11-8493-38f6faad0a4c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"runbooks": [{"uuid": "2336bd51-e1ce-447b-9faa-66d2d877506a", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/runbooks/2336bd51-e1ce-447b-9faa-66d2d877506a", "rel": "self"}, {"href": "http://localhost/runbooks/2336bd51-e1ce-447b-9faa-66d2d877506a", "rel": "bookmark"}]}]}
{2} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_tear_down_cleaning [0.048491s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_ramdisk.RamdiskDeployTestCase.test_validate [0.048513s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_559_runbooks_runbook_id_get_project_admin [0.068156s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/runbooks/86b07891-1baa-4805-867f-8a24d55e3d7a WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-6674183e-3f06-4e8d-9318-346b57e912c6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "86b07891-1baa-4805-867f-8a24d55e3d7a", "created_at": "2025-05-30T17:29:15.585606+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/86b07891-1baa-4805-867f-8a24d55e3d7a", "rel": "self"}, {"href": "http://localhost/runbooks/86b07891-1baa-4805-867f-8a24d55e3d7a", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
{3} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_exception_in_background_task [0.108730s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_validate_calls_boot_validate [0.048662s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_560_project_admin_patch_runbook [0.094785s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/f96aee28-f7f0-4ab7-a589-f8f89e302357 WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_NAME'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-88cf4919-ff9a-47b8-8517-7581ff7b30a9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "f96aee28-f7f0-4ab7-a589-f8f89e302357", "created_at": "2025-05-30T17:29:15.651588+00:00", "updated_at": "2025-05-30T17:29:15.712490+00:00", "name": "CUSTOM_NAME", "extra": {}, "public": false, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/f96aee28-f7f0-4ab7-a589-f8f89e302357", "rel": "self"}, {"href": "http://localhost/runbooks/f96aee28-f7f0-4ab7-a589-f8f89e302357", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
{2} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_validate_interface_mismatch [0.061792s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.ChangeNodeBootModeTestCase.test_change_node_boot_mode_existing [0.098423s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_validate_with_boot_iso [0.052857s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_561_runbooks_project_manager [0.069231s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/runbooks WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-cc985f17-a293-4bf3-9fff-e2b4a8314308
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"runbooks": [{"uuid": "deaa9e56-90a2-4aa6-9212-1b810fee856d", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/runbooks/deaa9e56-90a2-4aa6-9212-1b810fee856d", "rel": "self"}, {"href": "http://localhost/runbooks/deaa9e56-90a2-4aa6-9212-1b810fee856d", "rel": "bookmark"}]}]}
{2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test___init__ [0.038241s] ... ok
{3} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_node_already_locked [0.094382s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_acl.TestRBACProjectScoped.test_project_scoped_562_runbooks_runbook_id_get_project_manager [0.088569s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/runbooks/64d0afdf-a0e0-4419-8e0d-b1567bd3f38a WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-e245acae-58e1-4c69-8cb7-5b017ef4e8f9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "64d0afdf-a0e0-4419-8e0d-b1567bd3f38a", "created_at": "2025-05-30T17:29:15.832178+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/64d0afdf-a0e0-4419-8e0d-b1567bd3f38a", "rel": "self"}, {"href": "http://localhost/runbooks/64d0afdf-a0e0-4419-8e0d-b1567bd3f38a", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
{2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v1_read [0.063176s] ... ok
{2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v1_write [0.050528s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_563_project_manager_patch_runbook [0.114377s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/4022c43e-d8b8-48a3-9764-85406601800e WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_NAME'}] GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-14f19dfc-b176-46af-bb07-75fb3db341da
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "4022c43e-d8b8-48a3-9764-85406601800e", "created_at": "2025-05-30T17:29:15.906565+00:00", "updated_at": "2025-05-30T17:29:15.986324+00:00", "name": "CUSTOM_NAME", "extra": {}, "public": false, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/4022c43e-d8b8-48a3-9764-85406601800e", "rel": "self"}, {"href": "http://localhost/runbooks/4022c43e-d8b8-48a3-9764-85406601800e", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
{2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v3 [0.057541s] ... ok
{2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_client [0.032006s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_564_runbooks_project_member [0.066473s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/runbooks WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-6a0318a2-073c-445c-9d29-b32e4d122beb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"runbooks": [{"uuid": "11ca577b-6bab-4638-b75c-2603e2772296", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/runbooks/11ca577b-6bab-4638-b75c-2603e2772296", "rel": "self"}, {"href": "http://localhost/runbooks/11ca577b-6bab-4638-b75c-2603e2772296", "rel": "bookmark"}]}]}
{2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_context [0.061784s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_565_runbooks_runbook_id_get_project_member [0.074835s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/runbooks/db5ed44c-f391-44b9-8cf9-1c6e5279e875 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-b2e63f18-5319-474a-a8bb-244bf5f80a29
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "db5ed44c-f391-44b9-8cf9-1c6e5279e875", "created_at": "2025-05-30T17:29:16.096751+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/db5ed44c-f391-44b9-8cf9-1c6e5279e875", "rel": "self"}, {"href": "http://localhost/runbooks/db5ed44c-f391-44b9-8cf9-1c6e5279e875", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
{3} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_valid [0.294560s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport [0.058742s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_566_runbooks_list_project_reader [0.066167s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/runbooks WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-a1fa7208-2269-49f5-b8aa-b4b7fe82c1ae
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"runbooks": [{"uuid": "0b0e74e6-473e-40ff-977c-43276844d174", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/runbooks/0b0e74e6-473e-40ff-977c-43276844d174", "rel": "self"}, {"href": "http://localhost/runbooks/0b0e74e6-473e-40ff-977c-43276844d174", "rel": "bookmark"}]}]}
{2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_custom_retries [0.053830s] ... ok
{3} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_validate_fail [0.084511s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_custom_timeout [0.059543s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_567_runbooks_runbook_id_get_project_reader [0.073416s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/runbooks/193717ce-c518-4377-9f9a-68790355ec96 WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-faae035b-0477-4f26-b4a6-6e94231e867d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"uuid": "193717ce-c518-4377-9f9a-68790355ec96", "created_at": "2025-05-30T17:29:16.236377+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/193717ce-c518-4377-9f9a-68790355ec96", "rel": "self"}, {"href": "http://localhost/runbooks/193717ce-c518-4377-9f9a-68790355ec96", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}
{3} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_worker_pool_full [0.097987s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_err [0.053735s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_568_runbooks_list_third_party_admin [0.073061s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/runbooks WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-1a8fee5a-eb21-4426-b818-690fdf4dfd8b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"runbooks": []}
{2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get [0.048957s] ... ok
{3} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port [0.055070s] ... ok
{3} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_mac_exists [0.040412s] ... ok
{2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_err_engine [0.058095s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_569_project_reader_cannot_post_runbook [0.075846s] ... 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-096232f2-c04e-4320-9a23-c93a7b81d531
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:create\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_physnet_validation_failure_conflict [0.044076s] ... ok
{2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_err_transport [0.055528s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_570_project_reader_cannot_patch_runbook [0.070302s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/a27fe640-8f04-40f8-b6c8-57a4e7ecaa74 WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_NAME'}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-b1f9a79a-456d-44fb-8ce6-ade1a36ee077
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:update\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_physnet_validation_failure_inconsistent [0.042253s] ... ok
{2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next [0.047022s] ... ok
{3} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector [0.045815s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_571_project_reader_cannot_set_runbook_owner [0.065630s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/82381c8b-7f09-4f97-b5d6-810cf93fd3d5 WITH [{'op': 'replace', 'path': '/owner', 'value': 'new_owner'}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-f15af78b-7cd2-4b5c-82a4-5747811230a4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:update:owner\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector_node_locked [0.041199s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_572_project_reader_cannot_set_runbook_public [0.068696s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/5e5d19d6-1022-4a9f-acaf-2f8c87a3688b WITH [{'op': 'replace', 'path': '/public', 'value': True}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-6726a313-a87f-4142-a6de-a64e29236eef
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:update:public\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector_node_power_on [0.042879s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_573_project_reader_cannot_delete_runbook [0.062406s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/runbooks/78155ddf-93d6-4cb3-9d79-09011c86b58a GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-bcb0be2f-498e-4d10-8987-b78f77fe17c4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:delete\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover [0.091386s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next_err_engine [0.214050s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_574_project_member_cannot_post_runbook [0.083611s] ... 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-42dfabd6-fa1a-4e4a-a701-88288a988e03
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:create\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next_err_transport [0.048792s] ... ok
{3} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_enabled [0.099216s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.api.test_acl.TestRBACProjectScoped.test_project_scoped_575_project_member_cannot_patch_runbook [0.074266s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/f3fe243a-1913-4ca9-98c2-e25d63a665ef WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_NAME'}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-b10af5ee-4565-4f2a-88ec-2e4503874a53
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:update\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set [0.054667s] ... ok
{2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set_err_engine [0.054754s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_576_project_member_cannot_set_runbook_owner [0.076845s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/e963bb71-a5db-4640-b46f-85bb19c5f8d9 WITH [{'op': 'replace', 'path': '/owner', 'value': 'new_owner'}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-f9e15b79-fa6a-48b7-b360-8898d4d96fd1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:update:owner\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set_err_transport [0.046655s] ... ok
{2} ironic.tests.unit.drivers.test_base.CleanStepTestCase.test_get_and_execute_clean_steps [0.023403s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_577_project_member_cannot_set_runbook_public [0.069657s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/755ab4ba-b1f9-468b-9251-560207c7b059 WITH [{'op': 'replace', 'path': '/public', 'value': True}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-ad2dcef9-ba41-434c-bb5d-5ad4daa8868b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:update:public\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_all_args [0.021042s] ... ok
{3} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_exception [0.199709s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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(
{2} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_bad_argsinfo [0.042588s] ... ok
{3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_acquire_node_disappears [0.029642s] ... ok
{2} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_bad_priority [0.027286s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_578_project_member_cannot_delete_runbook [0.076293s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/runbooks/487bb384-cc04-49e7-98f9-d1e26330ce46 GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-52537bb1-755e-495f-9a16-bf3e00cb7947
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:delete\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_acquire_node_locked [0.027421s] ... ok
{2} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_priority_only [0.034645s] ... ok
{3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_exiting_no_worker_avail [0.027938s] ... ok
{2} ironic.tests.unit.drivers.test_base.DeployStepTestCase.test_get_and_execute_deploy_steps [0.025056s] ... ok
{3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_exiting_with_other_exception [0.035719s] ... ok
{2} ironic.tests.unit.drivers.test_base.TestBareDriver.test_class_variables [0.028810s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_579_project_manager_cannot_set_runbook_owner [0.102827s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/34d2998a-1bcd-44a2-861d-ef9c696ae10e WITH [{'op': 'replace', 'path': '/owner', 'value': 'new_owner'}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-634d29fe-9308-4891-a742-5f597c2bdc66
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:update:owner\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_maintenance_after_lock [0.051961s] ... ok
{2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability [0.041869s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_no_deploywait_after_lock [0.039997s] ... ok
{2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability_append [0.042867s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_580_project_manager_cannot_set_runbook_public [0.074857s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/8651fb01-7746-41f7-be3f-c134462c938c WITH [{'op': 'replace', 'path': '/public', 'value': True}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-8e13387d-0d56-4344-8e15-510cafc37589
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:update:public\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_not_mapped [0.029584s] ... ok
{2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability_append_duplicate [0.042492s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_timeout [0.027499s] ... ok
{2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_not_string [0.023498s] ... ok
{3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_worker_limit [0.026727s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_581_project_admin_cannot_set_runbook_owner [0.080164s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/7124e0e8-1ebe-4882-b02b-a03e63c745bf WITH [{'op': 'replace', 'path': '/owner', 'value': 'new_owner'}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-eec1432d-d684-4888-9e3a-a63ca074c34c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:update:owner\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict [0.026206s] ... ok
{3} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_already_mapped [0.037198s] ... ok
{2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_incorrect_format_fail [0.029111s] ... ok
{3} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_good [0.027584s] ... ok
{2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_invalid_character_fail [0.026910s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_582_project_admin_cannot_set_runbook_public [0.069746s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/55fd362e-df2f-4565-9910-cee93f56fd46 WITH [{'op': 'replace', 'path': '/public', 'value': True}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-fabb3ec8-9158-4a65-9266-e3d2a3036c99
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:update:public\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_no_free_worker [0.027279s] ... ok
{2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_only_key_or_value_fail [0.034283s] ... ok
{3} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_node_locked [0.025544s] ... ok
{2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_ensure_next_boot_device [0.040364s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.ManagerSyncLocalStateTestCase.test_not_mapped [0.034413s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_583_service_cannot_patch_runbook_owner [0.074905s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/bbe9630d-c7f5-4742-9915-1628ba2e28a8 WITH [{'op': 'replace', 'path': '/owner', 'value': 'new_owner'}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-c2550511-1082-45b0-bfbc-c44c0b165886
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:update:owner\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_worker_limit [0.033423s] ... ok
{2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_ensure_next_boot_device_clears_is_next_boot_persistent [0.045952s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACProjectScoped.test_project_scoped_584_service_cannot_patch_runbook_public [0.071539s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/9c2fe5e6-9729-4b2f-a55f-6b2aa4c20215 WITH [{'op': 'replace', 'path': '/public', 'value': True}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-31f79521-97d8-4e85-bb02-4121b04baf21
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:update:public\", \"debuginfo\": null}"}
{2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_force_persistent_boot_false [0.057376s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.MiscTestCase.test__mapped_to_this_conductor [0.070823s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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)
{2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_force_persistent_boot_true [0.045740s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.MiscTestCase.test_get_node_with_token [0.050789s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.024498s] ... ok
{2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_capability_returns_none [0.024045s] ... ok
{3} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_iter_nodes [0.066748s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.test_utils.UtilsTestCase.test_get_node_mac_addresses [0.047623s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_normalize_mac_string [0.031752s] ... ok
{3} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_iter_nodes_shutdown [0.062376s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.test_utils.UtilsTestCase.test_normalize_mac_unicode [0.024796s] ... ok
{3} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_node_with_token_already_locked [0.034591s] ... ok
{2} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_create [0.022915s] ... ok
{2} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_delete [0.022197s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_585_third_party_admin_cannot_patch_runbook_owner [0.269519s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/c5218319-b959-4f38-9f59-db75a4cff467 WITH [{'op': 'replace', 'path': '/owner', 'value': 'new_owner'}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-0e548fa8-c359-4546-97bc-7e1cf6a51a15
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:update:owner\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_node_with_token_already_set [0.035165s] ... ok
{2} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_get [0.021520s] ... ok
{2} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_get_by_node_id [0.021552s] ... ok
{3} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail [0.040361s] ... ok
{2} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_create [0.021648s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_586_third_party_admin_cannot_patch_runbook_public [0.071280s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/runbooks/629062ec-5790-4bd5-a843-d78c05944c4d WITH [{'op': 'replace', 'path': '/public', 'value': True}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-9e234b1c-aea6-4256-8d28-b2711b8f29f6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:update:public\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_deploy_templates [0.037494s] ... ok
{2} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_delete [0.027914s] ... ok
{2} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_save [0.022241s] ... ok
{3} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_instance_traits [0.033446s] ... ok
{2} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_save [0.023108s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_001_values ... SKIPPED: These are fake reference values for YAML templating
{3} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_unexpected [0.040451s] ... ok
{2} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_sync_node_setting_create_and_update [0.027928s] ... ok
{2} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_sync_node_setting_delete_nochange [0.031329s] ... ok
{2} ironic.tests.unit.objects.test_fields.TestMacAddressField.test_coerce [0.018746s] ... ok
{2} ironic.tests.unit.objects.test_fields.TestMacAddressField.test_coerce_bad_values [0.018417s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_002_nodes_post_admin [0.105272s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-97e67e2f-a123-442f-9815-a571d14d8812
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"}
{2} ironic.tests.unit.objects.test_fields.TestNotificationLevelField.test_coerce_bad_value [0.018075s] ... ok
{2} ironic.tests.unit.objects.test_fields.TestNotificationLevelField.test_coerce_good_value [0.018132s] ... ok
{2} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_corrected_power_state_payload [0.023350s] ... ok
{2} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_crud_payload [0.025144s] ... ok
{2} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload [0.021409s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_003_nodes_post_member [0.113438s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-53c930f7-e2e7-4032-934f-e1f901d55ec9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"}
{2} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload_no_traits [0.021032s] ... ok
{2} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload_traits_is_none [0.036995s] ... ok
{3} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_dynamic_driver_interfaces [0.257219s] ... ok
{2} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_set_power_state_payload [0.038596s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_004_nodes_post_observer [0.094526s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-bf8deab4-5344-481c-a84b-b932607e783c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"}
{2} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_set_provision_state_payload [0.021254s] ... ok
{3} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi [0.040210s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.033445s] ... ok
{2} ironic.tests.unit.objects.test_node_inventory.TestNodeInventoryObject.test_create [0.044472s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_005_nodes_get_node_admin [0.067456s] ... 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-40d14b13-d7ed-4c68-a3a0-0e03b836358a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.objects.test_node_inventory.TestNodeInventoryObject.test_destroy [0.029606s] ... ok
{3} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_not_implemented [0.037942s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_emit_notification [0.023281s] ... ok
{3} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_validate_invalid_param [0.037928s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_emit_notification_empty_schema [0.023561s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_006_nodes_get_node_member [0.066651s] ... 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-8810776d-5c96-410c-b0fc-2bd12f1e0f09
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_invalid_status_fails [0.018502s] ... ok
{2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_make_status_invalid [0.019640s] ... ok
{3} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_validate_missing_param [0.041669s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_with_status [0.018464s] ... ok
{2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_without_status_fails [0.018583s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_007_nodes_get_node_observer [0.076312s] ... 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-fde13054-d083-491b-a047-597ce481f278
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_mask_secrets_has_secrets [0.020623s] ... ok
{3} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_get_raid_logical_disk_properties [0.070036s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.objects.test_notification.TestNotificationBase.test_mask_secrets_no_secrets [0.018078s] ... ok
{2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_mask_secrets_not_affected [0.017937s] ... ok
{3} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_get_raid_logical_disk_properties_iface_not_supported [0.025465s] ... ok
{2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_level_too_low [0.028912s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_008_nodes_get_node_other_admin [0.082505s] ... 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-baad75d5-0dce-4eb4-a241-1d6f0ad9c7a2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config [0.048023s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_notifs_disabled [0.023965s] ... ok
{2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_schema_not_populated [0.022645s] ... ok
{2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema [0.018126s] ... ok
{3} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_empty [0.053839s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_missing_required_obj_field [0.018080s] ... ok
{2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_no_object_field [0.018809s] ... ok
{2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_nullable_field_auto_populates [0.017833s] ... ok
{3} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_iface_not_supported [0.050655s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_009_nodes_get_admin [0.130717s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-56445f99-64a2-4a7f-9954-2eb255fffa6e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_invalid_parameter_value [0.048453s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_010_nodes_get_other_admin [0.096464s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-99e35869-c84e-4fa0-9590-67ea1b90c145
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"nodes": []}
{3} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test___send_sensor_data [0.071561s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_acl.TestRBACScoped.test_rbac_legacy_011_nodes_detail_get_admin [0.060024s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/detail WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-98020283-3510-4ffb-aff3-03adc59b79bc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"}
{2} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version [0.197039s] ... ok
{3} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test___send_sensor_data_disabled [0.074354s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.objects.test_objects.TestMisc.test_max_version_one [0.018124s] ... ok
{2} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version_two [0.017860s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_012_nodes_detail_get_member [0.072927s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/detail WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-82633399-1dcf-4f8f-a1bf-24e411e713ae
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"}
{2} ironic.tests.unit.objects.test_objects.TestObjectVersions.test_object_version_check [0.026194s] ... ok
{3} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test___send_sensor_data_multiple_workers [0.064211s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.objects.test_port.TestConvertToVersion.test_is_smartnic_supported [0.028100s] ... ok
{2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported_missing [0.022811s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_013_nodes_detail_get_observer [0.074601s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/detail WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-c0722f8d-e19a-49a0-ad58-987e0e08de7c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"}
{2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported_set [0.021183s] ... ok
{3} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test___send_sensor_data_one_worker [0.065523s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported [0.021143s] ... ok
{2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_missing [0.022925s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_014_nodes_node_ident_get_admin [0.070586s] ... 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-7c755f32-296b-4673-be46-6d73b823cc73
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_all [0.068726s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_no_remove_default [0.027816s] ... ok
{2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_no_remove_non_default [0.023276s] ... ok
{2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_remove [0.020492s] ... ok
{3} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_non [0.073687s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.objects.test_port.TestConvertToVersion.test_name_supported_missing [0.028329s] ... ok
{2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_supported_set [0.023708s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_015_nodes_node_ident_get_member [0.125387s] ... 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-b95fb2de-d587-4389-92e3-59a720649df9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_missing [0.020548s] ... ok
{2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_set_no_remove_default [0.020759s] ... ok
{3} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_part [0.083134s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.objects.test_port.TestConvertToVersion.test_name_unsupported_set_no_remove_non_default [0.021492s] ... ok
{2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_set_remove [0.021677s] ... ok
{2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_supported_missing [0.021283s] ... ok
{3} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__sensors_conductor [0.067902s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.objects.test_port.TestConvertToVersion.test_physnet_supported_set [0.020614s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_016_nodes_node_ident_get_observer [0.118883s] ... 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-8122eff5-6a57-4723-b45e-070bb1fd1709
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_missing [0.020323s] ... ok
{2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_no_remove_default [0.020782s] ... ok
{2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_no_remove_non_default [0.030173s] ... ok
{3} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task [0.077419s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_remove [0.021027s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_017_nodes_node_ident_patch_admin [0.088799s] ... 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-9d82818b-fc94-428a-8111-c3e1a35fcb30
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra [0.021119s] ... ok
{2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_in_internal_info [0.021050s] ... ok
{2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_lower_version [0.020987s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_018_nodes_node_ident_patch_member [0.075509s] ... 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-304295a5-0ea3-4705-9b10-610e8e621570
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_not_in_extra [0.021505s] ... ok
{2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_create [0.022185s] ... ok
{2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_bad_id_and_uuid_and_address_and_name [0.021068s] ... ok
{3} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_maintenance [0.151288s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.objects.test_portgroup.TestPortgroupObject.test_get_by_address [0.024061s] ... ok
{2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_id [0.022244s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_019_nodes_node_ident_patch_observer [0.112549s] ... 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-5efc0a31-c9f6-4f51-9477-ca7452790e0a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_name [0.021536s] ... ok
{3} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_no_management [0.079975s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.objects.test_portgroup.TestPortgroupObject.test_get_by_uuid [0.021776s] ... ok
{2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_list [0.021528s] ... ok
{2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_list_by_node_id [0.021294s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_020_nodes_node_ident_delete_admin [0.075124s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-433fb74b-0c15-4750-b398-8272f65a5fc2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_payload_schemas [0.020709s] ... ok
{3} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_shutdown [0.066346s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.objects.test_portgroup.TestPortgroupObject.test_refresh [0.029088s] ... ok
{2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_save [0.028143s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_021_nodes_node_ident_delete_member [0.079335s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-a9ef9d51-578e-4b31-ad23-de551b128b53
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_invalid_state [0.089355s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.objects.test_portgroup.TestPortgroupObject.test_save_after_refresh [0.065861s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_022_nodes_node_ident_delete_observer [0.073150s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-891d33d1-1900-48b5-ab2f-05051b3adfe8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.pxe_filter.test_dnsmasq.TestExclusiveWriteOrPass.test_write [0.025441s] ... ok
{3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_maintenance [0.084523s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.pxe_filter.test_dnsmasq.TestExclusiveWriteOrPass.test_write_custom_ioerror [0.027019s] ... ok
{2} ironic.tests.unit.pxe_filter.test_dnsmasq.TestExclusiveWriteOrPass.test_write_would_block [0.025183s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_023_nodes_validate_get_admin [0.074655s] ... 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-85497079-654b-4b9c-a650-a01075b8c5b0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.pxe_filter.test_dnsmasq.TestExclusiveWriteOrPass.test_write_would_block_too_many_times [0.025967s] ... ok
{2} ironic.tests.unit.pxe_filter.test_service.TestManager.test_init_and_run [0.037098s] ... ok
{3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_partial_ok [0.108294s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.test_base.BlockExecuteTestCase.test_can_mock_execute [0.020226s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_024_nodes_validate_get_member [0.071028s] ... 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-192f01cd-46e8-4ecb-a8bc-19c1760bee1d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{2} ironic.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute [0.018418s] ... ok
{2} ironic.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute_parent_mocked [0.030661s] ... ok
{2} ironic.tests.unit.test_base.DontBlockExecuteTestCase.test_no_exception_raised_for_execute [0.033741s] ... ok
{3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_power_validate_fail [0.087594s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.test_acl.TestRBACScoped.test_rbac_legacy_025_nodes_validate_get_observer [0.085047s] ... 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-c79002be-8024-47c3-a81d-c97276573df0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_026_nodes_maintenance_put_admin [0.073405s] ... 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-e611cfee-e0ea-4255-bc85-390e1cee346d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_done [0.123847s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.test_acl.TestRBACScoped.test_rbac_legacy_027_nodes_maintenance_put_member [0.065337s] ... 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-c7183d12-24cd-4b59-987f-d1c72e60bd53
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_028_nodes_maintenance_put_observer [0.065711s] ... 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-aa2ea01d-151e-414b-adc8-497d57c39433
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_029_nodes_maintenance_delete_admin [0.075444s] ... 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-33f55eb7-00e3-4217-8e46-877856da7d34
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_030_nodes_maintenance_delete_member [0.085745s] ... 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-65481a62-cc63-4672-a03e-8a8482653a08
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_error [0.311568s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.test_acl.TestRBACScoped.test_rbac_legacy_031_nodes_maintenance_delete_observer [0.067353s] ... 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-c69a3977-f83a-46cf-b216-b04f3f1614e6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_032_nodes_management_boot_device_put_admin [0.080361s] ... 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-f9733c7e-cd7d-4671-b2eb-fa4ce354b5b5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_033_nodes_management_boot_device_put_member [0.064638s] ... 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-a65f862a-b7a0-4a6c-880e-ec7bd9a916a7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_waiting [0.167231s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_deployfail_state [0.149302s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.test_acl.TestRBACScoped.test_rbac_legacy_034_nodes_management_boot_device_put_observer [0.269919s] ... 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-100c577c-ac79-44a5-8775-9ecca5c885b4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_error_state [0.150179s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.test_acl.TestRBACScoped.test_rbac_legacy_035_nodes_management_boot_device_get_admin [0.091004s] ... 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-f77342b2-992d-43a2-90cb-651ba3722182
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_from_available_state [0.074854s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.test_acl.TestRBACScoped.test_rbac_legacy_036_nodes_management_boot_device_get_member [0.074043s] ... 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-4189cd99-b352-46fb-90f4-9b6b7b66ed02
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_protected [0.074973s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.test_acl.TestRBACScoped.test_rbac_legacy_037_nodes_management_boot_device_get_observer [0.077226s] ... 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-ceb963b8-b911-401b-91c9-cdba4bd02d01
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_traits_validate_fail [0.082572s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.test_acl.TestRBACScoped.test_rbac_legacy_038_nodes_management_boot_device_supported_get_admin [0.072277s] ... 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-e26a488d-ae9d-44fd-b066-ef7b6f89139e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_validate_fail [0.090435s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.test_acl.TestRBACScoped.test_rbac_legacy_039_nodes_management_boot_device_supported_get_member [0.075386s] ... 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-6d40ed72-7dbc-4657-b681-36a6b2b0b844
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_validate_template_fail [0.085580s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.test_acl.TestRBACScoped.test_rbac_legacy_040_nodes_management_boot_device_supported_get_observer [0.073776s] ... 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-219e973e-3054-4caa-aa63-c75c8a94ba01
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_041_nodes_management_inject_nmi_put_admin [0.071016s] ... 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-07bb39ae-fc64-4903-9cb4-d9beafe4e8ee
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_worker_pool_full [0.096258s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.UpdateVolumeConnectorTestCase.test_update_volume_connector [0.043090s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_042_nodes_management_inject_nmi_put_member [0.085041s] ... 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-bd32476a-9fda-4ad3-9eaa-aaada74476a9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_duplicate [0.042397s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.UpdateVolumeConnectorTestCase.test_update_volume_connector_node_locked [0.034940s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_043_nodes_management_inject_nmi_put_observer [0.069763s] ... 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-9175dc79-ac6b-4466-99a3-fdb595ca5746
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_node_power_on [0.044343s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.UpdateVolumeConnectorTestCase.test_update_volume_connector_type [0.048080s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_044_nodes_states_get_admin [0.086068s] ... 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-8078a405-59a0-4039-8585-802db168faa1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_uuid [0.049282s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.RPCAPITestCase.test_add_node_traits [0.025563s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_045_nodes_states_get_member [0.075694s] ... 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-80ac5e35-c459-4a33-bd43-3825af8bc5ea
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_add_node_traits_replace [0.024735s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_create_port_False [0.023285s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_create_port_True [0.030348s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_046_nodes_states_get_observer [0.075414s] ... 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-067ded64-ef3c-43f3-99c6-1953f683b25d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_rescue_false [0.025238s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_rescue_true [0.023585s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_change_node_boot_mode [0.024511s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_047_nodes_states_power_put_admin [0.080296s] ... 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-aeff1b66-4da3-4aba-a299-74a9ffb15022
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_change_node_power_state [0.024460s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_change_node_secure_boot [0.028152s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_continue_node_clean [0.024423s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_continue_node_deploy [0.024348s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_048_nodes_states_power_put_member [0.089978s] ... 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-27f08d50-cdfc-4ef9-8817-62073ff12689
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_continue_node_service [0.024607s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_allocation [0.024656s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_node [0.025296s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_049_nodes_states_power_put_observer [0.078940s] ... 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-897dbbf7-c215-45cc-ad49-bae03f8aeb12
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_port [0.023945s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_allocation [0.024038s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_node [0.023351s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_050_nodes_states_boot_mode_put_admin [0.071506s] ... 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-cfb27a4a-6bc5-43a1-b9db-20757582b375
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_portgroup [0.024155s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_volume_connector [0.024023s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_volume_target [0.023973s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_051_nodes_states_boot_mode_put_member [0.074222s] ... 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-47686978-95bb-4876-8833-cf1a3b2eeb58
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_clean [0.024186s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_deploy [0.024568s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_deploy_with_deploy_steps [0.023288s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_052_nodes_states_boot_mode_put_observer [0.065558s] ... 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-af362883-2964-475e-a292-1b78415f6ad9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_rescue [0.023255s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_service [0.023163s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_tear_down [0.023574s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_053_nodes_states_secure_boot_put_admin [0.070327s] ... 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-c19fd43e-8409-4d3d-95a4-b38c1f4c67f3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_unrescue [0.023056s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_driver_vendor_passthru [0.023331s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_boot_device [0.023753s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_054_nodes_states_secure_boot_put_member [0.068091s] ... 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-dc4bb437-818d-4d5d-bd36-f07ed6c44003
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_conductor_for [0.026343s] ... 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.conductor.test_rpcapi.RPCAPITestCase.test_get_console_information [0.025026s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_055_nodes_states_secure_boot_put_observer [0.067133s] ... 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-a77156cd-8a65-4ba2-bbc1-dd489c23c668
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_056_nodes_states_provision_put_admin [0.070280s] ... 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-da2b7b60-8317-44a0-b604-5c4caf8b2430
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_057_nodes_states_provision_put_member [0.074500s] ... 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-5f5f31c3-b22a-431a-8e87-cb2b9474fb1b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_driver_properties [0.187553s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_driver_vendor_passthru_methods [0.022587s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_058_nodes_states_provision_put_observer [0.066386s] ... 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-624e514a-0c78-41f5-b8a7-04a7040eafdf
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_indicator_state [0.023151s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_node_vendor_passthru_methods [0.023464s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_node_with_token [0.025450s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_059_nodes_states_raid_put_admin [0.076714s] ... 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-5226236b-d927-4a61-bf14-30455a2fda97
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_raid_logical_disk_properties [0.024209s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_random_topic [0.023932s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_random_topic_no_conductors [0.022720s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_060_nodes_states_raid_put_member [0.066016s] ... 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-25d5945b-8715-4668-b3a6-6fecb736b8b6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_supported_boot_devices [0.022952s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_supported_indicators [0.023389s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_doesnt_cache [0.027077s] ... 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.api.test_acl.TestRBACScoped.test_rbac_legacy_061_nodes_states_raid_put_observer [0.065277s] ... 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-e9f3ef3a-5aa8-4e76-b0a4-ae2d8bb05608
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_doesnt_cache [0.026111s] ... 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.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_known_driver [0.024778s] ... 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.api.test_acl.TestRBACScoped.test_rbac_legacy_062_nodes_states_console_get_admin [0.063522s] ... 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-4f0da397-800a-4eca-b058-13a8d3b17a66
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_unknown_driver [0.025906s] ... 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.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_known_driver [0.025010s] ... 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.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_unknown_driver [0.026130s] ... 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.api.test_acl.TestRBACScoped.test_rbac_legacy_063_nodes_states_console_get_member [0.063142s] ... 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-b98fa535-422a-41a4-ad92-4fbec3f638e8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_heartbeat [0.023053s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_heartbeat_agent_token [0.024820s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_inject_nmi [0.022424s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_064_nodes_states_console_get_observer [0.067066s] ... 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-5499c59c-5972-433c-a25f-eb16073c5bac
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_inspect_hardware [0.022907s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call [0.022193s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call_expected_exception [0.022511s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_065_nodes_states_console_put_admin [0.068871s] ... 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-7a544518-c17f-4591-b4e1-9b93de43e2ef
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call_host_mismatch [0.022346s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call_host_mismatch_with_rpc_disabled [0.021465s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call_no_conductor_with_rpc_disabled [0.021123s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_066_nodes_states_console_put_member [0.066516s] ... 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-67c0b7fa-c9de-4288-ab4e-9536b34a21d6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call_with_rpc_disabled [0.022127s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_cast [0.022309s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_cast_error [0.022370s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_067_nodes_states_console_put_observer [0.067116s] ... 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-c0329640-55fe-4cd2-8fb5-63702c1a53c3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_action [0.022863s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_action_invalid_version [0.021882s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_backport_versions [0.023542s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_backport_versions_invalid_version [0.022574s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_class_action_versions [0.025469s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_class_action_versions_invalid_version [0.021787s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_remove_node_traits [0.033968s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_remove_node_traits_all [0.024329s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_rpc_disabled [0.026214s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_serialized_instance_has_uuid [0.021249s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_068_nodes_vendor_passthru_methods_get_admin [0.245158s] ... 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-092b7184-e71f-49f9-920d-2be5bafbd5f0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_boot_device [0.022324s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_console_mode [0.023796s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_indicator_state [0.024582s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_069_nodes_vendor_passthru_methods_get_member [0.063624s] ... 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-9f57ce4a-bc03-4d77-b6bd-ec895cb895bb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_target_raid_config [0.026141s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_node [0.031761s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_070_nodes_vendor_passthru_methods_get_observer [0.072279s] ... 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-0f455812-d2e1-4134-9f81-06ceb4b30bfc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_port [0.027401s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_portgroup [0.025508s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_071_nodes_vendor_passthru_get_admin [0.070430s] ... 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-00250b06-f585-4ac5-8b98-7f4cea31084f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_volume_connector [0.036737s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_volume_target [0.026154s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_validate_driver_interfaces [0.025420s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_072_nodes_vendor_passthru_get_member [0.063262s] ... 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-4eb31d36-e652-422e-9814-eb2616350456
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vendor_passthru [0.026518s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_attach [0.024963s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_073_nodes_vendor_passthru_get_observer [0.061555s] ... 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-6810d8ec-e268-45db-88d0-54b75f55a302
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_detach [0.026770s] ... ok
{3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_list [0.029940s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_074_nodes_vendor_passthru_post_admin [0.066282s] ... 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-ea3d0b89-9ac2-420f-8cac-78c2e676cadd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_next_clean_step_automated_execute_fail [0.063948s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_075_nodes_vendor_passthru_post_member [0.063428s] ... 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-7923e778-6b65-4c47-a92d-564811385d88
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_next_service_step_automated_fail_in_tear_down_service [0.085240s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_076_nodes_vendor_passthru_post_observer [0.062156s] ... 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-ca34f7ba-d337-429e-a4b2-7617f7827472
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_next_service_step_automated_last_step_noop [0.056339s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_077_nodes_vendor_passthru_put_admin [0.061420s] ... 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-09836e8b-4734-4858-941a-8371d9ecec1d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_078_nodes_vendor_passthru_put_member [0.062082s] ... 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-52f05ce6-6616-40c3-8c3a-a540989aee3d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_next_service_step_automated_no_steps [0.082178s] ... ok
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.api.test_acl.TestRBACScoped.test_rbac_legacy_079_nodes_vendor_passthru_put_observer [0.060962s] ... 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-9b83118e-7d43-4dfa-98d9-32082cbb3ce0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_next_service_step_bad_step_return_value [0.062365s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_080_nodes_vendor_passthru_delete_admin [0.061316s] ... 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-bd428032-65d1-4f5b-9f0f-159aba4d4b22
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_next_service_step_manual_last_step_noop [0.055299s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.DoNodeServiceTestCase.test__do_node_service [0.054857s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_081_nodes_vendor_passthru_delete_member [0.080969s] ... 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-fd228db3-78a3-4a10-bce8-440c53c0b93a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service_automated_network_validate_fail [0.055200s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_082_nodes_vendor_passthru_delete_observer [0.062737s] ... 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-a47dd0cf-99db-4bc5-b5c4-a5bdda83d39a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service_automated_power_validate_fail [0.055071s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_083_nodes_traits_get_admin [0.062165s] ... 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-a811d21e-3f8a-495f-b446-779daee67b81
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_084_nodes_traits_get_member [0.063755s] ... 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-3a257c57-84eb-475f-a727-fe6ba283f788
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_085_nodes_traits_get_observer [0.078228s] ... 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-e3f2111f-869c-4a83-9e9f-56946bff5873
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service_disable_ramdisk [0.216788s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_086_nodes_traits_put_admin [0.079448s] ... 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-fbc5eca5-10f3-4b00-92f9-61dd03de5951
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service_manual_network_validate_fail [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(
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_087_nodes_traits_put_member [0.068511s] ... 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-009d9f99-723d-4107-90c0-466aa266a780
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service_manual_power_validate_fail [0.052765s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.DoNodeServiceTestCase.test__do_node_service_network_error_fail [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(
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_088_nodes_traits_put_observer [0.070863s] ... 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-eed2b89b-c50d-4030-8bf3-53b25f297d73
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service_prepare_service_active [0.068951s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_089_nodes_traits_delete_admin [0.061951s] ... 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-42d7f6c1-a4ec-4132-a69f-2d354434720e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service_prepare_service_fail [0.059994s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_090_nodes_traits_delete_member [0.063691s] ... 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-9840f03a-6657-400b-a3c5-bd3c97efacf8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service_prepare_service_wait [0.070658s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_091_nodes_traits_delete_observer [0.064477s] ... 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-12024cbf-7891-45f6-ab0b-19490900ec57
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_092_nodes_traits_trait_put_admin [0.073943s] ... 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-a1c5e0cb-42df-4596-b2c2-536a08e80370
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service_steps_fail [0.098766s] ... ok
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_servicing.DoNodeServiceTestCase.test_continue_node_service [0.041178s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_093_nodes_traits_trait_put_member [0.066892s] ... 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-2cbfbf9d-9e3a-42b3-ae73-6727a832f9c2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_continue_node_service_no_skip_step [0.040774s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_094_nodes_traits_trait_put_observer [0.070752s] ... 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-7913ba7f-f607-495e-a339-703bc8b64de9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_clean_step_all [0.081104s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_095_nodes_traits_trait_delete_admin [0.064780s] ... 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-5f34ced2-9fbc-426a-a167-d9df7894791c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_096_nodes_traits_trait_delete_member [0.062119s] ... 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-e158636e-18fe-47cf-8424-df854dd7f5c5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_clean_step_all_disable_ramdisk [0.085202s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_097_nodes_traits_trait_delete_observer [0.062451s] ... 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-b2600b06-21d2-4ade-8226-e441255308e3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_clean_step_collect_logs [0.079452s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_098_nodes_vifs_get_admin [0.077098s] ... 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-6355465d-81e7-4043-a266-215054acbf57
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_clean_step_continue_from_last_cleaning [0.060863s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.DoNodeServiceTestCase.test_do_next_clean_step_manual_continue_from_last_cleaning [0.052638s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_099_nodes_vifs_get_member [0.068031s] ... 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-d334b0d1-5987-42f4-8907-336e3a8dda19
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_service_step_agent_busy [0.058501s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_100_nodes_vifs_get_observer [0.074838s] ... 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-fa168e56-736e-49fc-9d28-d075d7f2c962
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_service_step_automated_first_step_async [0.053056s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_101_nodes_vifs_post_admin [0.069131s] ... 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-dd4bb035-5037-405c-9aa6-d30e8ec1c7f7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_service_step_handles_hold_from_active [0.055809s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.DoNodeServiceTestCase.test_do_next_service_step_handles_hold_from_wait [0.054942s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_102_nodes_vifs_post_member [0.077335s] ... 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-45ab5a74-1f7a-4bcb-98e5-ce198bab01a4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_service_step_manual_first_step_async [0.052585s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.DoNodeServiceTestCase.test_do_next_service_step_oob_reboot [0.050605s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.DoNodeServiceTestCase.test_do_next_service_step_oob_reboot_fail [0.064653s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.DoNodeServiceTestCase.test_do_next_service_step_oob_reboot_last_step [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(
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_103_nodes_vifs_post_observer [0.242802s] ... 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-da72f176-d0f6-4776-a422-921690dc1c3b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_node_service_steps_fail_poweroff [0.059619s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_104_nodes_vifs_node_vif_ident_delete_admin [0.063622s] ... 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-a6fa8224-e090-423e-9129-a8bf57beef25
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps [0.040565s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.038489s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_105_nodes_vifs_node_vif_ident_delete_member [0.070112s] ... 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-25d918c9-2c86-423e-8ea2-9224f7ea3d29
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_priority_override_fail [0.034227s] ... ok
{3} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_priority_override_off [0.033538s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_106_nodes_vifs_node_vif_ident_delete_observer [0.069370s] ... 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-25e9c85a-e4f2-4a4d-afcf-28bf5cc8adb9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_priority_override_ok [0.032190s] ... ok
{3} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_unsorted [0.038832s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_107_nodes_management_indicators_get_admin [0.068303s] ... 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-0c0b17e6-cc5a-4855-9cd3-48d62460e4ac
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test_execute_verify_step [0.049433s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.038185s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_108_nodes_management_indicators_get_member [0.066039s] ... 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-4d3d7e09-cce6-420c-9df3-a805d28b30d0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsTestCase.test__get_validate_user_deploy_steps_no_steps [0.039176s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_109_nodes_management_indicators_get_observer [0.068086s] ... 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-eec3f170-7504-4534-8692-9bb96ba93896
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsTestCase.test__get_validate_user_deploy_steps_on_node [0.040851s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.ProvisionNotifyTestCase.test_notify_error_state [0.021080s] ... ok
{3} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_no_state_change [0.019710s] ... ok
{1} 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.
{3} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_only_once [0.019536s] ... ok
{3} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_resource_released [0.020115s] ... ok
{1} 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.
{3} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_stable_to_stable [0.019864s] ... ok
{3} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_stable_to_unstable [0.019740s] ... ok
{3} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_unstable_to_stable [0.019567s] ... ok
{1} 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.
{3} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_unstable_to_unstable [0.020097s] ... ok
{3} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_already_present [0.043041s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_113_portgroups_get_admin [0.062172s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-fd20bf8a-6e28-442f-9ee5-1f5cf1d2ecc7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_change_secure_off [0.052298s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_114_portgroups_get_member [0.061623s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-b7c89350-3a00-49df-bdb5-cabb730c87bf
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_change_secure_off_to_none [0.053659s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_115_portgroups_get_observer [0.062747s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-837627a0-a423-4037-99d5-1b7f8d34b281
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_failed_boot_mode [0.041889s] ... ok
{3} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_failed_secure [0.049245s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_116_portgroups_post_admin [0.073252s] ... 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-b2104a84-2e54-4642-818a-64fb6133651c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_noneness [0.036232s] ... ok
{3} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_retreive_and_set [0.044971s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_117_portgroups_post_member [0.069256s] ... 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-712b5cae-72c3-4d7d-9729-15404de36491
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_unsupported [0.044095s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_118_portgroups_post_observer [0.071943s] ... 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-c338a42e-2786-4edd-94a9-a599caed9670
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_119_portgroups_detail_get_admin [0.061240s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups/detail WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-cb69fc66-7cbf-457f-ba7e-0b4cb9ff7452
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_120_portgroups_detail_get_member [0.059291s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups/detail WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-96df09c4-5d42-41da-bb92-f257337497da
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_already_present [0.207224s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_121_portgroups_detail_get_observer [0.060903s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups/detail WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-8d5fa894-809f-49d5-9422-7a07e3b85125
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_empty [0.035616s] ... ok
{3} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_failed [0.034621s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_122_portgroups_portgroup_ident_get_admin [0.067290s] ... 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-d0e171b5-9217-4b6d-baf7-2ed03b662f61
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_ok [0.045017s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_123_portgroups_portgroup_ident_get_member [0.067055s] ... 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-411e81ca-f97e-4c17-ad3d-e386d51b58d3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_unsupported [0.036639s] ... ok
{3} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_cleanup_after_timeout [0.025501s] ... ok
{3} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_cleanup_after_timeout_shared_lock [0.026948s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_124_portgroups_portgroup_ident_get_observer [0.069031s] ... 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-93e26437-99ee-48b7-a355-d82da28dc92d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler [0.027252s] ... ok
{3} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_cleanup_ironic_exception [0.026868s] ... ok
{3} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_cleanup_random_exception [0.027830s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_125_portgroups_portgroup_ident_patch_admin [0.082118s] ... 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-77adaf7b-6177-4b1b-b341-5f1ce33846ca
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_no_cleanup [0.026488s] ... ok
{3} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_not_deploy [0.025076s] ... ok
{3} ironic.tests.unit.conductor.test_utils.GetTokenProjectFromRequestTestCase.test_no_token_info [0.020691s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_126_portgroups_portgroup_ident_patch_member [0.072475s] ... 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-d72187b8-94c9-4f65-8a12-a54eb10d2da0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_utils.GetTokenProjectFromRequestTestCase.test_returns_project_id_if_present [0.029830s] ... ok
{3} ironic.tests.unit.conductor.test_utils.NodeGetBootModeTestCase.test_node_get_boot_mode_unsupported [0.042448s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_127_portgroups_portgroup_ident_patch_observer [0.083075s] ... 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-19d57c40-3815-4f03-9e80-cd44512d1616
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_utils.NodeGetBootModeTestCase.test_node_get_boot_mode_valid [0.037827s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodeSetBootDeviceTestCase.test_node_set_boot_device_adopting [0.036679s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_128_portgroups_portgroup_ident_delete_admin [0.082169s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-a51821b1-5b21-421f-8919-def7861db744
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_force_always [0.043538s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodeSetBootDeviceTestCase.test_node_set_boot_device_force_default [0.037736s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_129_portgroups_portgroup_ident_delete_member [0.071176s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-849cf548-a580-4d98-8436-53586286fe63
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_force_never [0.051521s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_130_portgroups_portgroup_ident_delete_observer [0.076316s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-8eb73fad-133d-4a4c-9ec9-a98330dd28fc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_non_existent_device [0.061615s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodeSetBootDeviceTestCase.test_node_set_boot_device_valid [0.037146s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_131_nodes_portgroups_get_admin [0.067082s] ... 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-2925d163-b18b-45ba-9422-345c5799cade
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_utils.ServiceUtilsTestCase.test_wipe_service_internal_info [0.044381s] ... ok
{3} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_no_change [0.028125s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_132_nodes_portgroups_get_member [0.068713s] ... 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-2f6adbf0-f0a3-4ef8-8e86-99c55c25c5b2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_store_existing [0.027848s] ... ok
{3} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_store_new [0.026658s] ... ok
{3} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_take_over [0.023175s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_133_nodes_portgroups_get_observer [0.080197s] ... 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-f782aa96-0b9a-458c-b365-569bbe46b65e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.console.securityproxy.test_rfb.RFBSecurityProxyTestCase.test_client_auth_invalid_fails [0.020106s] ... ok
{3} ironic.tests.unit.console.securityproxy.test_rfb.RFBSecurityProxyTestCase.test_exception_in_choose_security_type_fails [0.018912s] ... ok
{3} ironic.tests.unit.console.securityproxy.test_rfb.RFBSecurityProxyTestCase.test_exception_security_handshake_fails [0.022119s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_134_nodes_portgroups_detail_get_admin [0.070390s] ... 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-bd00f55c-6450-4bfc-be18-509d079a272a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.console.securityproxy.test_rfb.RFBSecurityProxyTestCase.test_fail [0.019495s] ... ok
{3} ironic.tests.unit.console.securityproxy.test_rfb.RFBSecurityProxyTestCase.test_fail_server_message [0.018310s] ... ok
{3} ironic.tests.unit.console.securityproxy.test_rfb.RFBSecurityProxyTestCase.test_fails_on_host_version [0.018257s] ... ok
{3} ironic.tests.unit.console.securityproxy.test_rfb.RFBSecurityProxyTestCase.test_fails_on_sec_type_cnt_zero [0.020033s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_135_nodes_portgroups_detail_get_member [0.074411s] ... 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-495cee31-7af9-4269-9bf5-bff725e3652a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.console.securityproxy.test_rfb.RFBSecurityProxyTestCase.test_fails_on_tenant_version [0.021225s] ... ok
{3} ironic.tests.unit.console.securityproxy.test_rfb.RFBSecurityProxyTestCase.test_full_run [0.020450s] ... ok
{3} ironic.tests.unit.console.securityproxy.test_rfb.RFBSecurityProxyTestCase.test_parse_version [0.018244s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_136_nodes_portgroups_detail_get_observer [0.075350s] ... 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-9b3702ca-0d88-4d80-9d6f-e608eaad6acf
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.console.securityproxy.test_websocketproxy.IronicWebsocketSecurityProxyTestCase.test_proxy_connect_err [0.072542s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_137_ports_get_admin [0.063915s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-a5a00528-b1f9-4c9a-9be2-722b2e73d8a1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"}
{3} ironic.tests.unit.console.securityproxy.test_websocketproxy.IronicWebsocketSecurityProxyTestCase.test_proxy_connect_ok [0.072578s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_138_ports_get_member [0.057999s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-080f0e85-7557-403a-aaf6-236e1f65e805
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create [0.026357s] ... ok
{3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create_allocation_duplicated_name [0.024624s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_139_ports_get_observer [0.057672s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-73e09b19-d63c-4c3f-8a15-39c90feea6aa
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create_allocation_duplicated_uuid [0.025029s] ... ok
{3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation [0.031415s] ... ok
{3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_that_does_not_exist [0.025652s] ... ok
{3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_uuid [0.026125s] ... ok
{3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_with_node [0.036599s] ... ok
{3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_id [0.029732s] ... ok
{3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_id_that_does_not_exist [0.024958s] ... ok
{3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_name [0.029588s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_140_ports_post_admin [0.227684s] ... 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-ede7b3b2-e3a8-407d-a2f6-a35bf1c9afe5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_name_that_does_not_exist [0.026936s] ... ok
{3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_uuid [0.029022s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_141_ports_post_member [0.073169s] ... 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-ef52f32b-eafd-4717-ab4f-987a25366ef3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_uuid_that_does_not_exist [0.024300s] ... ok
{3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list [0.030181s] ... ok
{3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_conductor_affinity [0.032081s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_142_ports_post_observer [0.076028s] ... 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-b22fae98-8c4b-4ccb-b168-64da4518a95e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_node [0.046922s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_143_ports_detail_get_admin [0.061697s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports/detail WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-a8cdb8a8-db89-420f-acb1-b79c41d6cf1b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_rsc [0.036185s] ... ok
{3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_state [0.035038s] ... ok
{3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_invalid_fields [0.025012s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_144_ports_detail_get_member [0.068896s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports/detail WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-a9d83494-bc87-4822-9f27-5568dfe457d7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_145_ports_detail_get_observer [0.059672s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports/detail WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-c51a2573-2376-4398-98b5-b8b72ed6ed21
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_146_ports_port_id_get_admin [0.063846s] ... 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-2e3d2005-ecae-4788-a332-d5d2d8b2436f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_sorted [0.188332s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_147_ports_port_id_get_member [0.066994s] ... 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-f19d3e28-b587-485b-90bf-437f20304c68
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_allocation_not_found [0.033219s] ... ok
{3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_conflict [0.028290s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_148_ports_port_id_get_observer [0.065740s] ... 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-8e19b7d8-a669-46ec-b559-efb7ba144c1f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_success [0.028382s] ... ok
{3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation [0.024216s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_149_ports_port_id_patch_admin [0.067856s] ... 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-8ab545f7-d67d-4804-8f84-e8ad1c6167f6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_associated_with_another_node [0.035245s] ... ok
{3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_duplicated_name [0.024971s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_150_ports_port_id_patch_member [0.069837s] ... 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-b9aeee9c-d92e-4fc5-ace9-fb2c6cb8ea66
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_node_already_associated [0.033423s] ... ok
{3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_not_found [0.028617s] ... ok
{3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_uuid [0.022722s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_151_ports_port_id_patch_observer [0.069359s] ... 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-37f43604-b00c-4ab0-b9b1-84be46f27292
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_with_node_id [0.029817s] ... ok
{3} ironic.tests.unit.db.test_api.MigrateToBuiltinInspectionTestCase.test_cannot_migrate [0.028751s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_152_ports_port_id_delete_admin [0.064117s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-6a67d339-7a69-49a5-ab2e-bb6376a700f4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_api.MigrateToBuiltinInspectionTestCase.test_cannot_migrate_some [0.048270s] ... ok
{3} ironic.tests.unit.db.test_api.MigrateToBuiltinInspectionTestCase.test_migrate_all [0.032119s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_153_ports_port_id_delete_member [0.067723s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-58fe8e74-3402-4993-95fa-3d0e7654f9d5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_api.MigrateToBuiltinInspectionTestCase.test_migrate_with_limit [0.036340s] ... ok
{3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list [0.031635s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_154_ports_port_id_delete_observer [0.068028s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-23e458af-489f-4544-b0f7-10fb463cfddb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list_duplicate [0.029441s] ... ok
{3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list_node_not_exist [0.026429s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_155_nodes_ports_get_admin [0.066176s] ... 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-73f5ae58-9e90-4908-aae6-cd5586331c0c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list [0.045545s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_156_nodes_ports_get_member [0.068716s] ... 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-15faab8c-35be-472b-8e65-770069f0db51
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list_node_not_exist [0.046261s] ... ok
{3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list_setting_not_exist [0.029662s] ... ok
{3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting [0.027777s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_157_nodes_ports_get_observer [0.065005s] ... 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-16ffec29-bbb3-4437-bea5-a5bafa9272f5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_list [0.028112s] ... ok
{3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_list_node_not_exist [0.031006s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_158_nodes_ports_detail_get_admin [0.065830s] ... 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-748ed221-8680-43b5-a852-9735bb12a496
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_node_not_exist [0.024032s] ... ok
{3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_setting_not_exist [0.028344s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_159_nodes_ports_detail_get_member [0.065717s] ... 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-d727ab94-0622-4110-8708-c625b1742506
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list [0.033724s] ... ok
{3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list_node_not_exist [0.027317s] ... ok
{3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list_setting_not_exist [0.028162s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_160_nodes_ports_detail_get_observer [0.065994s] ... 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-eb6025bd-242d-467c-9667-54e9634cf030
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_clear_node_reservations_for_conductor [0.037746s] ... ok
{3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_clear_node_target_power_state [0.035726s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_161_portgroups_ports_get_admin [0.086943s] ... 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-2e1b3745-e425-449e-a615-1e0fccb93f9b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_many_host_many_ht [0.030334s] ... ok
{3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_many_host_one_ht [0.029154s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_162_portgroups_ports_get_member [0.066458s] ... 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-fc11008d-d3cd-4a48-ae84-1bceb3a2c275
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_many_ht [0.028176s] ... ok
{3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_no_ht [0.024852s] ... ok
{3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_one_ht [0.026076s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_163_portgroups_ports_get_observer [0.066220s] ... 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-1118995d-1000-49e9-ba66-d1ab87581298
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_one_ht_groups [0.026595s] ... ok
{3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_with_old_conductor [0.031934s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_164_portgroups_ports_detail_get_admin [0.067976s] ... 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-f8a674d6-4f99-4764-b2b4-f4353c2e7543
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_conductor [0.024652s] ... ok
{3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_conductor_not_found [0.023954s] ... ok
{3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_inactive_conductor_ignore_online [0.024077s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_165_portgroups_ports_detail_get_member [0.065942s] ... 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-fe070ca0-c7b6-4a0d-8218-dc940831adaa
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_inactive_conductor_with_online_true [0.024097s] ... ok
{3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_offline_conductors [0.027691s] ... ok
{3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_offline_conductors_with_sqlite [0.025974s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_166_portgroups_ports_detail_get_observer [0.068060s] ... 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-36848b37-1bd2-43d6-a712-0f0075d75fd9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_online_conductors [0.026356s] ... ok
{3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_online_conductors_with_sqlite [0.024807s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_167_volume_get_admin [0.059389s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-be8c1142-395b-4ae1-a8a0-dd40bb4e9ead
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_list_hardware_type_interfaces [0.031723s] ... ok
{3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_existing_fails [0.024329s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_168_volume_get_member [0.063545s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-90795d5f-302d-4967-a67e-9c0c9955f4c9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_hardware_interfaces [0.026147s] ... ok
{3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_hardware_interfaces_duplicate [0.025658s] ... ok
{3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_override [0.024605s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_169_volume_get_observer [0.066685s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-24bac2c4-bb8c-48ad-9ad3-8baf7bac689b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor [0.025838s] ... ok
{3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor_not_found [0.024492s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_170_volume_connectors_get_admin [0.068728s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-1aa10b87-a410-4ac8-9880-39b89ccc6b74
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor_offline [0.032389s] ... ok
{3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_offline_conductor [0.026020s] ... ok
{3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_unregister_conductor [0.028342s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_171_volume_connectors_get_member [0.068085s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-74fcb076-a9b8-47b4-9bff-eb06758eb42c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_unregister_conductor_hardware_interfaces [0.026637s] ... ok
{3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag [0.034635s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_172_volume_connectors_get_observer [0.068689s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-6909f7c1-b2e8-4bfd-af20-317a01e6d492
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag_duplicate [0.034036s] ... ok
{3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag_node_not_exist [0.041605s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_173_volume_connectors_post_admin [0.081828s] ... 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-725233df-9d2e-4fd2-b156-57f09b2a4eb0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag [0.038274s] ... ok
{3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag_node_not_found [0.031189s] ... ok
{3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag_not_found [0.027761s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_174_volume_connectors_post_member [0.078051s] ... 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-1c7bfb69-9bc3-47ea-8f56-0bd5b4346137
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_by_node_id [0.033711s] ... ok
{3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_empty [0.026595s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_175_volume_connectors_post_observer [0.070501s] ... 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-be7fe122-5820-4c26-b581-c8f7e6a12c4e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_176_volume_volume_connector_id_get_admin [0.066708s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors/d2655962-3ce5-4f17-a2b8-72d6f2a801b8 WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-150d2f13-508c-4c1e-9e5e-47e1c31499ee
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector d2655962-3ce5-4f17-a2b8-72d6f2a801b8 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_177_volume_volume_connector_id_get_member [0.067336s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors/9cdeb270-4440-4d26-96ba-9ffd64d8a82a WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-ea1c4c76-5420-4581-a10b-29759d2593c1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 9cdeb270-4440-4d26-96ba-9ffd64d8a82a could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_node_not_exist [0.195753s] ... ok
{3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_exists [0.032399s] ... ok
{3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_node_not_exist [0.025786s] ... ok
{3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_not_exists [0.027238s] ... ok
{3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags [0.030257s] ... ok
{3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags_duplicate [0.040583s] ... ok
{3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags_node_not_exist [0.026542s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_178_volume_volume_connector_id_get_observer [0.243548s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors/8c41c395-4d54-4ef5-952f-4dddd694f9f7 WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-dfd5961c-17dd-4dd9-b05d-78ff8aa0d4cb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 8c41c395-4d54-4ef5-952f-4dddd694f9f7 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_empty_node_tags [0.030389s] ... ok
{3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_node_tags [0.078703s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_179_volume_volume_connector_id_patch_admin [0.114504s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/connectors/e63d2a7f-92cb-4f07-b397-c9b90b586edc WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-fbd1bcbc-611e-4e14-ad17-a1f64e23f1a1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector e63d2a7f-92cb-4f07-b397-c9b90b586edc could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_node_tags_node_not_exist [0.028690s] ... ok
{3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_address [0.026075s] ... ok
{3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_name [0.024965s] ... ok
{3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_uuid [0.026522s] ... ok
{3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_no_mode [0.045608s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_180_volume_volume_connector_id_patch_member [0.138425s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/connectors/a076b788-cea9-48c9-91b6-e66612e0d054 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-654596c6-7795-4cd4-aa38-251f13587e86
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector a076b788-cea9-48c9-91b6-e66612e0d054 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup [0.030315s] ... ok
{3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_not_empty [0.026948s] ... ok
{3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_that_does_not_exist [0.027294s] ... ok
{3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_uuid [0.035785s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_181_volume_volume_connector_id_patch_observer [0.152075s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/connectors/7b0da14b-61fe-4bf9-9aaf-f78c22efad27 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-788d2d67-8213-49ce-836c-4253b9313f50
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 7b0da14b-61fe-4bf9-9aaf-f78c22efad27 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgoups_by_conductor_groups [0.042852s] ... ok
{3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_address [0.027836s] ... ok
{3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_address_that_does_not_exist [0.025520s] ... ok
{3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_id [0.046355s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_182_volume_volume_connector_id_delete_admin [0.138043s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/connectors/09be2162-5ada-4b5c-8f0c-ed2336e29c0f GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-76ff86d3-7f4c-4d31-9453-775c6f1703a7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 09be2162-5ada-4b5c-8f0c-ed2336e29c0f could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_id_that_does_not_exist [0.056013s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_183_volume_volume_connector_id_delete_member [0.085238s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/connectors/b72f793f-2707-48c3-af19-d457254a9068 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-13a2fa1f-9184-4853-b3d0-12204d4ce433
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector b72f793f-2707-48c3-af19-d457254a9068 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_name [0.060879s] ... ok
{3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_name_that_does_not_exist [0.041868s] ... ok
{3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_uuid [0.027871s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_184_volume_volume_connector_id_delete_observer [0.095664s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/connectors/bd5f5a08-1d20-4f7d-b1d4-eaff9cf7aad8 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-65c9e032-7bec-442c-a2bd-36e425bca756
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector bd5f5a08-1d20-4f7d-b1d4-eaff9cf7aad8 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_uuid_that_does_not_exist [0.026454s] ... ok
{3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_list [0.031327s] ... ok
{3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_list_sorted [0.032804s] ... ok
{3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroups_by_node_id [0.046277s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_185_volume_targets_get_admin [0.138380s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-6e0be8bc-b644-4ee7-905c-1e3803c70694
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroups_by_node_id_that_does_not_exist [0.053398s] ... ok
{3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup [0.030895s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_186_volume_targets_get_member [0.076275s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-aeec8ee3-6f5f-4924-bde6-58ea8e0628f1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_duplicated_address [0.033225s] ... ok
{3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_duplicated_name [0.031340s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_187_volume_targets_get_observer [0.063937s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-854903bb-1f02-4d2d-a76f-c1171dadbb75
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_not_found [0.028186s] ... ok
{3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_uuid [0.026150s] ... ok
{3} ironic.tests.unit.db.test_shard.ShardTestCase.test_get_shard_empty_list [0.023422s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_188_volume_targets_post_admin [0.071747s] ... 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-663e6da4-839c-4a5a-b328-e258b65f2dad
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_shard.ShardTestCase.test_get_shard_list [0.031605s] ... ok
{3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_create_volume_connector_duplicated_type_connector_id [0.025578s] ... ok
{3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_create_volume_connector_duplicated_uuid [0.024537s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_189_volume_targets_post_member [0.074955s] ... 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-9cd9fb6a-2717-40e5-a55a-7412aecd9aa8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_destroy_volume_connector [0.029303s] ... ok
{3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_by_id [0.028146s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_190_volume_targets_post_observer [0.080152s] ... 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-04262cd2-bd96-4874-8c74-b411bb1a9b31
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_by_uuid [0.029155s] ... ok
{3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_list [0.030885s] ... ok
{3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_list_sorted [0.031071s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_191_volume_volume_target_id_get_admin [0.087159s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets/7c255edf-ef77-42d3-871f-83501fb9b55f WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-270bc2d0-5011-4946-ba7a-fcc9e2462a9c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 7c255edf-ef77-42d3-871f-83501fb9b55f could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connectors_by_node_id [0.036729s] ... ok
{3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connectors_by_node_id_that_does_not_exist [0.054006s] ... ok
{3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector [0.026670s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_192_volume_volume_target_id_get_member [0.102582s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets/f946a500-7bad-4e7f-a781-88ac03f09db6 WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-611340c2-a41b-49b0-bad1-6bde24661eb6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target f946a500-7bad-4e7f-a781-88ac03f09db6 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_duplicated_type_connector_id [0.025944s] ... ok
{3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_fails_invalid_id [0.026970s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_193_volume_volume_target_id_get_observer [0.066117s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets/35d32383-9ba5-48a5-9b43-8d5a0da9742b WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-5953aba2-db61-4d67-9278-8a8904ea1ec7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 35d32383-9ba5-48a5-9b43-8d5a0da9742b could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_uuid [0.042026s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_194_volume_volume_target_id_patch_admin [0.076327s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/targets/dda5aae2-b37f-47de-aaf7-12b0b8690ea0 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-ce5afd4a-9bcd-4a26-91ee-87fb339cf503
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target dda5aae2-b37f-47de-aaf7-12b0b8690ea0 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_195_volume_volume_target_id_patch_member [0.076104s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/targets/14b8177e-ba71-4ff0-8f1e-5ed3f5021904 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-9b868315-85ff-43c9-b782-d9a58b129179
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 14b8177e-ba71-4ff0-8f1e-5ed3f5021904 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.dhcp.test_dnsmasq.TestDnsmasqDHCPApi.test_clean_dhcp_opts [0.125281s] ... ok
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.api.test_acl.TestRBACScoped.test_rbac_legacy_196_volume_volume_target_id_patch_observer [0.068379s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/targets/776981b8-db1f-45af-b1d7-cce737723cea WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-a451f833-4a0d-45e0-b67e-0f635c5a5d99
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 776981b8-db1f-45af-b1d7-cce737723cea could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.dhcp.test_dnsmasq.TestDnsmasqDHCPApi.test_get_ip_addresses [0.107833s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_197_volume_volume_target_id_delete_admin [0.088346s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/targets/1ade61f3-7640-46c1-906f-afd99704b912 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-36fc2f57-f374-49cb-8e69-6a3bd1cbefb2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1ade61f3-7640-46c1-906f-afd99704b912 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.dhcp.test_dnsmasq.TestDnsmasqDHCPApi.test_update_dhcp [0.063290s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_fixed_ip_address [0.028222s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_198_volume_volume_target_id_delete_member [0.065520s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/targets/d35e9d70-859d-4b74-986f-cde0463a37f2 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-1cd88f33-7348-492c-92dd-44a9bd960752
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target d35e9d70-859d-4b74-986f-cde0463a37f2 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_invalid_ip [0.028570s] ... ok
{3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_ipv6 [0.034205s] ... ok
{3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_with_exception [0.030901s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_199_volume_volume_target_id_delete_observer [0.101989s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/targets/a672d22c-6de5-4cdf-957e-3a6890e3ae50 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-1fae6fbd-93ab-4ee4-ba2c-0644d8f58716
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target a672d22c-6de5-4cdf-957e-3a6890e3ae50 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_portgroup_int_info [0.074861s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_200_nodes_volume_get_admin [0.065550s] ... 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-f4e2b2bc-651b-4b04-a6b4-93fa82070761
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"}
{3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_ports_int_info [0.063396s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_201_nodes_volume_get_member [0.070927s] ... 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-fdca3f86-42db-4c1c-9f7d-33cf1818c8fb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"}
{3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_cleaning [0.050944s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_202_nodes_volume_get_observer [0.064111s] ... 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-35f986f4-6167-460b-b62d-70f8ef22e7da
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"}
{3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_for_portgroup [0.047172s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.050818s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_203_nodes_volume_connectors_get_admin [0.092353s] ... 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-f52afc24-71af-4b28-a2d8-3a8015db6552
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_provisioning [0.068820s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_204_nodes_volume_connectors_get_member [0.069519s] ... 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-ef195dca-f457-4a05-8b73-2df1a456c8a1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_tenant [0.046056s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_205_nodes_volume_connectors_get_observer [0.078469s] ... 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-115ae6c7-12c2-4ef8-a974-6782df68a57e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_206_nodes_volume_targets_get_admin [0.072351s] ... 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-b913859a-0edf-4790-b595-e0617e5e2608
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_with_exception [0.229228s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.085480s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_207_nodes_volume_targets_get_member [0.184980s] ... 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-4e8f9034-f5c7-4e05-ba17-475db482a6b2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_get_ip_addresses_for_port_and_portgroup [0.110866s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.060537s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_208_nodes_volume_targets_get_observer [0.181543s] ... 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-aa13a4ab-6053-40aa-a062-344f34cce257
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_fails [0.045447s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.048701s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_209_drivers_get_admin [0.074486s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-0a2dd02f-fcfc-4d0f-b825-4404c5f3d467
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.dhcp.test_neutron.TestNeutron.test_update_dhcp_set_sleep_and_fake [0.075620s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_210_drivers_get_member [0.086497s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-60632c94-e38e-4ca4-8932-59bc5491d143
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.dhcp.test_neutron.TestNeutron.test_update_dhcp_some_failures [0.109047s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.070151s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.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(
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_211_drivers_get_observer [0.237144s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-59203081-6c74-46fc-9378-a26b5596173f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_v4_and_v6 [0.052182s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_212_drivers_driver_name_get_admin [0.069599s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers/fake-driverz WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-316db471-d4f9-430b-97e6-db86bfeb5c26
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_v6 [0.052231s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_213_drivers_driver_name_get_member [0.064293s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers/fake-driverz WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-3baa4dde-b94a-4a03-b4f3-2b78f48a49c6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_with_exception [0.083891s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_214_drivers_driver_name_get_observer [0.074980s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers/fake-driverz WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-f6c7f42d-002e-495c-b6cd-2ba1e899aac4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task [0.054411s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_215_drivers_properties_get_admin [0.062576s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers/fake-driverz/properties WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-5b55aa82-6255-49b8-ad2d-44ba550e9e88
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_failed [0.063593s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_216_drivers_properties_get_member [0.069380s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers/fake-driverz/properties WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-da9a4304-ae54-4cc7-8324-19a6afa8313a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_missing [0.056844s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_217_drivers_properties_get_observer [0.072882s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers/fake-driverz/properties WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-f077d7c4-25cf-4077-9519-a89ecbcff3d6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_partial_failed [0.063890s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_management.DracRedfishManagementTestCase.test__check_import_configuration_task_partial_failed_idrac5 [0.055803s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_218_drivers_raid_logical_disk_properties_get_admin [0.069677s] ... 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-4902fb64-cc4c-4bca-9bc6-ea755518901a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_still_processing [0.049849s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_219_drivers_raid_logical_disk_properties_get_member [0.068341s] ... 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-7f9f6939-800a-4406-97c9-ecde98963554
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_with_export [0.071746s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_220_drivers_raid_logical_disk_properties_get_observer [0.064422s] ... 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-90b10040-14b7-44ea-a0c5-1089b6579d7e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_with_export_failed [0.048867s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_221_drivers_vendor_passthru_methods_get_admin [0.067193s] ... 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-8f9dfea8-f1e8-43c1-9133-2eca00ad1779
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_not_drac [0.046856s] ... ok
{3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status [0.033484s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_222_drivers_vendor_passthru_methods_get_member [0.071302s] ... 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-6adfa004-75ff-4fc5-8e07-f37bdc7781d8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status_no_task_monitor_url [0.072945s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_223_drivers_vendor_passthru_methods_get_observer [0.090727s] ... 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-a1cd0a7c-d898-4e81-bd3b-e89272f3d8dd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status_node_locked [0.061080s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_224_drivers_vendor_passthru_get_admin [0.063469s] ... 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-0dafc52b-5d43-4149-9b57-25b6acf851e2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status_node_notfound [0.046095s] ... ok
{3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_failed_clean [0.054741s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_225_drivers_vendor_passthru_get_member [0.066542s] ... 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-a8975ac4-c49e-417c-a82e-2ecc95619fc4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_failed_deploy [0.053147s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_226_drivers_vendor_passthru_get_observer [0.079887s] ... 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-7dc895e1-a439-41e0-afc3-df0b64a0c08d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_success_clean [0.068543s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_227_drivers_vendor_passthru_post_admin [0.062941s] ... 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-376a82e0-8e42-4aff-a7c4-47e1c136ff2a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_success_deploy [0.050080s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_management.DracRedfishManagementTestCase.test__validate_conf_mold [0.049345s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_228_drivers_vendor_passthru_post_member [0.078950s] ... 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-9b3c30fa-bb1f-4b36-8d84-25513be44e49
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_data_empty [0.036263s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_229_drivers_vendor_passthru_post_observer [0.060894s] ... 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-41f5d16d-b27e-42a2-804e-ff5b31804ea4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_data_missing [0.027273s] ... ok
{3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_interface_missing [0.033063s] ... ok
{3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_interface_not_supported [0.028149s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_230_drivers_vendor_passthru_put_admin [0.077550s] ... 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-2ec84e2f-2e74-4808-90bf-d27bb8396f87
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_oem_missing [0.028336s] ... ok
{3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_clear_job_queue [0.050959s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_231_drivers_vendor_passthru_put_member [0.070431s] ... 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-1a01b60b-35d9-4ad4-ae23-415c1503737c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.api.test_acl.TestRBACScoped.test_rbac_legacy_232_drivers_vendor_passthru_put_observer [0.064578s] ... 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-2f4a1884-a6fa-43c6-b0b8-c0c3e2892b24
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_clear_job_queue_missing_attr_clean_step [0.076966s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_management.DracRedfishManagementTestCase.test_clear_job_queue_missing_attr_verify_step [0.058207s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_233_drivers_vendor_passthru_delete_admin ... SKIPPED: not updated for scope testing
{3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_export_configuration_export_failed [0.029437s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_234_drivers_vendor_passthru_delete_observer ... SKIPPED: not updated for scope testing
{3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_export_configuration_name_missing [0.049133s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_235_nodes_bios_get_admin [0.084091s] ... 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-61d1575c-5c63-4d06-a959-726adcb32417
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_export_configuration_success [0.069672s] ... ok
{3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_file_not_found [0.042379s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_236_nodes_bios_get_member [0.068679s] ... 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-e9cfde2d-ff9f-4492-b9f0-fae55c44def6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_incorrect_schema [0.048726s] ... ok
{3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_name_missing [0.026180s] ... ok
{3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_success [0.036378s] ... ok
{3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_export_configuration_success [0.038036s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_237_nodes_bios_get_observer [0.136961s] ... 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-f3163a64-033e-4ad4-bc24-30d83e6ae938
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_known_good_state [0.064451s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_238_nodes_bios_bios_setting_get_admin [0.091418s] ... 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-73887cbf-3d1e-4028-bd58-12459524d918
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_reset_idrac [0.080384s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_239_nodes_bios_bios_setting_get_member [0.078512s] ... 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-5a809a71-ef90-4bc5-b79b-c226bb4593d5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_240_nodes_bios_bios_setting_get_observer [0.077617s] ... 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-94319f44-8015-4f5c-9c02-221a3b71c6f5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_241_conductors_get_admin [0.064865s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-6c20a970-19d1-4d82-8afb-133a857b2335
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_242_conductors_get_member [0.063569s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-403254b6-d0e6-4f69-b4e5-32c51996b18c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_243_conductors_get_observer [0.063024s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-d5865f95-324b-4f77-bc6d-f93dbb2cf8c4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_reset_idrac_missing_attr_clean_step [0.324045s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_244_conductors_hostname_get_admin [0.079414s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors/test-conductor-node WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-4029a4c6-83a4-4a32-8c36-6100b5662e2d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_reset_idrac_missing_attr_verify_step [0.062498s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_error_cleaning [0.052188s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_245_conductors_hostname_get_member [0.092704s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors/test-conductor-node WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-c916c2bd-c0cb-45f0-b3b3-e803c097ae4d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_error_deploying [0.050852s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_246_conductors_hostname_get_observer [0.065273s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors/test-conductor-node WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-c1fef3c0-dd95-4cfa-82fd-c678da0fe543
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_failed_cleaning [0.065904s] ... ok
{3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_failed_deploying [0.049208s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_247_allocations_post_admin [0.075895s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/allocations WITH {'resource_class': 'CUSTOM_TEST'} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-b2d41df8-cdde-4b49-b5f1-5988ce09781e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create_restricted\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_apply_configuration [0.047881s] ... ok
{1} 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.
{3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_factory_reset [0.051877s] ... ok
{3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_iloobj_failed_cleaning [0.052040s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_249_allocations_post_observer [0.082981s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/allocations WITH {'resource_class': 'CUSTOM_TEST'} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-e9b8b09d-780b-48de-b6cf-bb65a7e38ccf
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create_restricted\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_iloobj_failed_deploy [0.059598s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_250_allocations_get_admin [0.064086s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-e69035b9-348e-42de-93fe-e5c5a3040983
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_invalid_cleaning [0.057057s] ... ok
{3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_invalid_deploy [0.061682s] ... ok
{3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_apply_conf_cleaning [0.051028s] ... ok
{3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_apply_conf_deploying [0.056638s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_251_allocations_get_member [0.269480s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-227c580e-dbd4-4013-99c1-1018d4965f86
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_apply_configuration [0.101850s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_252_allocations_get_observer [0.067640s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-723c8925-f6a1-4e59-9c72-73748dd7b0dd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_factory_reset_cleaning [0.092394s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_253_allocations_allocation_id_get_admin [0.082656s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations/6b999d42-8e4a-4e11-b227-9449c625020c WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-e8e4c2c3-494b-44a7-84ff-64f84efa7db0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 6b999d42-8e4a-4e11-b227-9449c625020c could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_factory_reset_deploying [0.071239s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_254_allocations_allocation_id_get_member [0.076308s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations/8c7be4f4-8f8f-4e7f-bd09-645e41fd12e8 WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-b6c7cbd4-a3f5-4c53-9e47-4dd483e6141e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 8c7be4f4-8f8f-4e7f-bd09-645e41fd12e8 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_iloobj_failed_cleaning [0.045304s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_255_allocations_allocation_id_get_observer [0.062549s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations/671eb132-454c-4d32-957f-968eefdb1387 WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-66245fd7-c56c-43c2-8ed3-9c4c4e1edb0a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 671eb132-454c-4d32-957f-968eefdb1387 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_iloobj_failed_deploying [0.053986s] ... ok
{3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_invalid_cleaning [0.048591s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_256_allocations_allocation_id_patch_admin [0.077567s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/allocations/c0c01152-5e83-4043-afb1-bd1a453efb49 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-56433baf-584f-4af6-806b-52e1ca61c702
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation c0c01152-5e83-4043-afb1-bd1a453efb49 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_invalid_deploying [0.042637s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_257_allocations_allocation_id_patch_member [0.068349s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/allocations/d1357dad-ea51-4a5a-865e-d85d32b0dd7c WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-86d45651-93f9-4a6f-9ceb-20ef7aa07f4e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation d1357dad-ea51-4a5a-865e-d85d32b0dd7c could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_reset_bios_failed_cleaning [0.074297s] ... ok
{3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_reset_bios_failed_deploying [0.051520s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_258_allocations_allocation_id_patch_observer [0.100860s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/allocations/3dd538db-df69-478b-924b-bf9aafa64dcc WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-5254cc61-31c9-4b87-9b06-8d6b3fc3fa2b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 3dd538db-df69-478b-924b-bf9aafa64dcc could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_set_bios_failed_cleaning [0.053616s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_259_allocations_allocation_id_delete_admin [0.071394s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/allocations/98f2b5f1-41ad-4bdc-9bec-6b406d477cff GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-c0eafb54-c9d8-4b15-b4cc-7a01da028d85
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 98f2b5f1-41ad-4bdc-9bec-6b406d477cff could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_set_bios_failed_deploying [0.059952s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_260_allocations_allocation_id_delete_member [0.065863s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/allocations/1be5bb7f-67cc-4226-aec3-6284b2475262 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-a9c001df-934e-4ab1-a7c8-d296de235a29
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 1be5bb7f-67cc-4226-aec3-6284b2475262 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_apply_configuration_post_boot [0.043377s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_261_allocations_allocation_id_delete_observer [0.067382s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/allocations/ed65fba7-2ea1-48f3-b3be-95bb5f5850a7 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-7a8e5551-8de1-4fdb-b812-f1bfae8718ee
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation ed65fba7-2ea1-48f3-b3be-95bb5f5850a7 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_apply_configuration_pre_boot [0.062062s] ... ok
{3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings [0.041326s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_262_nodes_allocation_get_admin [0.087082s] ... 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-51839aba-0c9d-40a9-8683-144c336a39fe
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_invalid_parameter [0.048521s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_263_nodes_allocation_get_member [0.086846s] ... 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-47710f4c-fe73-4193-bded-06a43f9f7692
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_missing_parameter [0.065284s] ... ok
{3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_with_ilo_error [0.068685s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_264_nodes_allocation_get_observer [0.083135s] ... 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-0ca10005-1fdd-4a43-b6a3-9a9be81c08c1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_with_unknown_error [0.035593s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_265_nodes_allocation_delete_admin [0.063989s] ... 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-e0432731-9dac-44aa-9774-10da570b6206
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22e26c0b-03f2-4d2e-ae87-c02d7f33c000 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_get_properties [0.042007s] ... ok
{3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_validate [0.034832s] ... ok
{3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_bootloader_none [0.029252s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_266_nodes_allocation_delete_member [0.086205s] ... 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-08422801-eb2b-494a-b87b-665f8898da86
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22e26c0b-03f2-4d2e-ae87-c02d7f33c000 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_bootloader_none_by_arch [0.025145s] ... ok
{3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy [0.035804s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_267_nodes_allocation_delete_observer [0.066241s] ... 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-e0956741-6412-48cf-89e5-5c30ce0a517c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22e26c0b-03f2-4d2e-ae87-c02d7f33c000 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_config [0.027178s] ... ok
{3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_config_by_arch [0.024501s] ... ok
{3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_deprecated [0.022970s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_268_deploy_templates_post_admin [0.069618s] ... 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-7c0ae6d6-b540-48d4-9271-cde2a90bf017
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_iso [0.027086s] ... ok
{3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_iso_deprecated [0.025443s] ... ok
{3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_exc [0.023931s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_269_deploy_templates_post_member [0.069076s] ... 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-03ae9549-27a2-41f9-b97c-d915d89c290f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_rescue [0.024411s] ... ok
{3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_rescue_config [0.023499s] ... ok
{3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_rescue_iso [0.022484s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_270_deploy_templates_post_observer [0.069656s] ... 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-68093aa7-8513-4870-869d-4d669c7fb2b4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_271_deploy_templates_get_admin [0.070575s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-39a9b7a0-dbb3-47f1-a65f-4d0e578f84ab
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_272_deploy_templates_get_member [0.061356s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-b9c26f2e-47f4-4ec3-aa44-34500dea330f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_273_deploy_templates_get_observer [0.062033s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-6dfc4454-7775-4f21-b3c9-2075bebbee55
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance [0.225277s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_274_deploy_templates_deploy_template_id_get_admin [0.062135s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates/8551b86c-a00c-4b53-bab3-2f1b26477d6b WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-b1a24271-511b-4dfe-91b4-f662c0c4f12c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance_boot_from_volume [0.052723s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloPXEBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.039863s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_275_deploy_templates_deploy_template_id_get_member [0.063005s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates/c8b29c5a-fd7c-42e0-847f-1ffff6cb3bf7 WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-0f89e706-571a-4b5d-b633-7dfcf3375b1c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance [0.042911s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_276_deploy_templates_deploy_template_id_get_observer [0.061438s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates/f784450b-481d-4e33-94a3-6078279cd3e2 WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-3982d186-c609-4b3e-bc01-7daa4220deae
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_anaconda_cleaning [0.046210s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloPXEBootTestCase.test_prepare_instance_anaconda_deploying [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(
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_277_deploy_templates_deploy_template_id_patch_admin [0.068948s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/deploy_templates/1e467b0c-ffe8-406f-953a-c6d28c498c2e WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-e575f510-d33f-4e18-8c2f-a824cffcf92f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_anaconda_rescuing [0.042572s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_278_deploy_templates_deploy_template_id_patch_member [0.064205s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/deploy_templates/99805180-3cc4-4ece-a2d1-32c3dd7628dd WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-8114d1b4-f820-4b1f-b091-ae517ecf6788
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_bios [0.045618s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloPXEBootTestCase.test_prepare_instance_boot_from_volume [0.048433s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_279_deploy_templates_deploy_template_id_patch_observer [0.074821s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/deploy_templates/8140c14c-c99c-4ab8-a150-c9836c81122a WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-f370e91f-6e96-45e0-bed2-10ea5ad09089
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_cleaning [0.044619s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_280_deploy_templates_deploy_template_id_delete_admin [0.062252s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/deploy_templates/2562a4a9-1e80-47fc-a170-298152064057 GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-e4c9f799-0d5a-4254-9490-a9f6d8e25b92
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_deploying [0.048126s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_281_deploy_templates_deploy_template_id_delete_member [0.062368s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/deploy_templates/6e134667-eaaa-48f1-8c2f-71347fe6b31e GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-b502a2ba-d625-4468-97f4-bdd8a6056cf0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_rescuing [0.049812s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_console.IloConsoleInterfaceTestCase.test_validate [0.039252s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_282_deploy_templates_deploy_template_id_delete_observer [0.064152s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/deploy_templates/e3f923b4-0c57-4d5f-bd6c-010fcd47b609 GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-d4e5c5f7-f789-40a4-a4c0-2ccb67a3befe
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_console.IloConsoleInterfaceTestCase.test_validate_exc [0.055587s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_283_chassis_post_admin [0.091920s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-9c1afc78-a299-464d-bb02-9eef195125a5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_fail_clean [0.098819s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_284_chassis_post_member [0.085919s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-db159e82-5148-417b-a85a-ad3870637e6e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_fail_deploy [0.107811s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_285_chassis_post_observer [0.099371s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-fa332048-dd63-4b83-874a-253e62f1f37f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_not_supported [0.110243s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_286_chassis_get_admin [0.099121s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-bd193bf0-c873-49e0-b086-e012990d7096
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_ok [0.060577s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_287_chassis_get_member [0.085326s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-892d3cca-df86-459f-af3c-716f8788ced6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_environment_error_clean [0.070689s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_management.IloManagementTestCase.test__write_firmware_sum_final_environment_error_deploy [0.066711s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_management.IloManagementTestCase.test__write_firmware_sum_final_swift_error_clean [0.073519s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_management.IloManagementTestCase.test__write_firmware_sum_final_swift_error_deploy [0.082301s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_288_chassis_get_observer [0.249706s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-b6e3ad65-e815-4bf4-ad7e-eb7ffe3115ca
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_unknown_exception_clean [0.056336s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_289_chassis_detail_get_admin [0.065527s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis/detail WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-a46bd846-388c-42a1-afd4-38d40b65fd5f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_unknown_exception_deploy [0.063875s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_290_chassis_detail_get_member [0.063812s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis/detail WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-4730ba5f-8d69-4d2d-b812-8d6eb28937a8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_with_logs_clean [0.053066s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_291_chassis_detail_get_observer [0.065356s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis/detail WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-18ee1fec-21cf-4f0c-a9a6-516268ed0594
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_with_logs_deploy [0.063429s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_292_chassis_chassis_id_get_admin [0.066259s] ... 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-04e0baa2-7131-48d4-b390-aa0cfa34d021
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_without_logs_clean [0.056780s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_293_chassis_chassis_id_get_member [0.064543s] ... 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-580edfe6-4a61-47da-94c5-b0fb27d91fe1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_without_logs_deploy [0.062110s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_294_chassis_chassis_id_get_observer [0.074283s] ... 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-eb7cd58e-5723-4477-963a-35fc117fa9ab
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.ilo.test_management.IloManagementTestCase.test_activate_license [0.059982s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_295_chassis_chassis_id_patch_admin [0.066659s] ... 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-fb609e33-0de0-4358-ac7e-4dd5963808e1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.ilo.test_management.IloManagementTestCase.test_activate_license_no_or_invalid_format_license_key [0.055754s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_management.IloManagementTestCase.test_add_https_certificate [0.055663s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_296_chassis_chassis_id_patch_member [0.078727s] ... 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-02970441-af08-43ea-b123-b58be27d4a2b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.ilo.test_management.IloManagementTestCase.test_add_https_certificate_fileurl [0.048764s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_297_chassis_chassis_id_patch_observer [0.066091s] ... 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-a1b57488-cbb3-427c-88ca-868f8ef2fcd7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.ilo.test_management.IloManagementTestCase.test_add_https_certificate_httpurl [0.057293s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_management.IloManagementTestCase.test_add_https_certificate_url_exception [0.050215s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_298_chassis_chassis_id_delete_admin [0.070027s] ... 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-1697887b-d826-45c5-87af-83b148476a5c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target [0.050202s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_299_chassis_chassis_id_delete_member [0.079321s] ... 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-990e7ffa-9855-4619-a41c-d3740bbb7d11
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target_failed [0.054533s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_management.IloManagementTestCase.test_clear_iscsi_boot_target_in_bios [0.051543s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_300_chassis_chassis_id_delete_observer [0.074544s] ... 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-07b80a53-c9b1-481c-8952-f833db7099fd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_secure_boot_keys [0.048854s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_301_node_history_get_admin [0.072894s] ... 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-982c62a2-7b9a-430e-99ec-37d3d7b6b20e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_create_csr [0.047928s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_302_node_history_get_member [0.071544s] ... 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-652c4a90-315d-4e41-b5e8-905cbef686dd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_flash_firmware_sum_mode_with_component [0.049096s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_management.IloManagementTestCase.test_get_boot_device_fail [0.048389s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_303_node_history_get_observer [0.071291s] ... 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-e1eb8341-7bb0-4470-95d6-79fd708fe7a2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_next_boot [0.047027s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_304_node_history_get_entry_admin [0.069701s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/1ed71a5d-9044-42b1-9f5e-aec7ab4dfa4a WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-5c86a6c7-867d-4e01-a50b-d8e5065f45d9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_persistent [0.047151s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_management.IloManagementTestCase.test_get_boot_device_persistent_fail [0.051500s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_rbac_legacy_305_node_history_get_entry_member [0.072227s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/8f88f4ec-aba1-4908-92af-b8b908ba9e41 WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-3880f14d-9a30-41d4-88fe-84efab79e7af
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_mode [0.046494s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_306_node_history_get_entry_observer [0.067626s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/9f81b735-a037-4aa3-9ba4-5ec2c8eb8b1c WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-9f021de6-7764-4af1-b8cc-d4611c8be570
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_mode_fail [0.041540s] ... ok
{1} 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.api.test_acl.TestRBACScoped.test_scoped_canary_002_nodes_post_admin [0.091628s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-9bc7b4c2-6ecb-4415-8d64-dfdefdb9499f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_003_nodes_post_member [0.088958s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-f3bf2132-65a4-48ca-96fc-9da53000db2e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_properties [0.266223s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_004_nodes_post_observer [0.091004s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-9f94692c-90ab-478c-810a-d4b7752f767a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_sensor_data [0.062698s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_005_nodes_get_node_admin [0.066652s] ... 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-27912354-13bf-42ef-b143-186745229558
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_devices [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.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_modes_1___legacy_bios_only_____bios___ [0.056600s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_006_nodes_get_node_member [0.067323s] ... 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-792b0916-4226-4020-bdc6-3c0e71477c3c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_modes_2___uefi_only_____uefi___ [0.056582s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_007_nodes_get_node_observer [0.065431s] ... 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-bacd76a7-f7f6-4833-acd6-e210e26effa7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_modes_3___legacy_bios_and_uefi_____uefi____bios___ [0.054827s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_008_nodes_get_node_other_admin [0.064815s] ... 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-61f6a0ab-5754-40eb-b947-19014ac4af0b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi [0.064618s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_009_nodes_get_admin [0.064047s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-9c0373c0-8869-43dd-8be8-ef8fe561bafc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi_failed [0.058392s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_010_nodes_get_other_admin [0.067304s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-0a6c562c-6fb4-4dea-8afb-6840737f68ce
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"nodes": []}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi_not_supported [0.059870s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_011_nodes_detail_get_admin [0.081920s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/detail WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-751c5823-0b88-49cf-af98-eb05117e9ab6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_bios_to_default [0.059952s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_012_nodes_detail_get_member [0.062733s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/detail WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-54452478-6b89-44e2-84c1-a8c4297c5301
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo [0.071494s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_013_nodes_detail_get_observer [0.063677s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/detail WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-af2c17e7-aff4-4209-a64e-a5387d14dd76
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_no_password [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.api.test_acl.TestRBACScoped.test_scoped_canary_014_nodes_node_ident_get_admin [0.066990s] ... 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-b0c2c0ea-2e2d-492d-89ff-e62f24ab096c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_ok [0.091083s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_015_nodes_node_ident_get_member [0.074919s] ... 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-100754f7-c8e2-49ed-a995-87c551f716be
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_pass_as_arg_ok [0.076949s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_016_nodes_node_ident_get_observer [0.070821s] ... 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-9fa90b3c-3d4e-4c4f-9275-bd5a82dd2452
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_secure_boot_keys_to_default [0.066914s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_017_nodes_node_ident_patch_admin [0.072002s] ... 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-0c4e8994-e4a4-4864-959c-780b4622db82
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_security_parameters_update [0.062452s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_018_nodes_node_ident_patch_member [0.069373s] ... 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-425db1d6-5d9e-42a3-9421-554a3b78c249
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_fail [0.061156s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_management.IloManagementTestCase.test_set_boot_device_invalid_device [0.054273s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_management.IloManagementTestCase.test_set_boot_device_ok [0.064262s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_management.IloManagementTestCase.test_set_boot_device_persistent_fail [0.059416s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_019_nodes_node_ident_patch_observer [0.272755s] ... 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-26f80440-a7b4-46ca-b497-4565c2c28c92
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_persistent_true [0.057530s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_020_nodes_node_ident_delete_admin [0.075422s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-1d4e21e0-1579-4f00-aefb-62ac6881928d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_mode [0.062613s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_021_nodes_node_ident_delete_member [0.064113s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-c012e10f-1389-442b-b18a-0f0d2450960f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_mode_fail [0.056715s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_022_nodes_node_ident_delete_observer [0.065538s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-e7475ac5-20ff-4ae1-9505-eb6e603951b7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_failed [0.084044s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_023_nodes_validate_get_admin [0.064160s] ... 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-b67f9d81-e374-48b9-849b-528d47395288
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_in_bios [0.076372s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_024_nodes_validate_get_member [0.089044s] ... 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-77132b8b-d7d1-4740-bf85-05971138ec9e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_missed_properties [0.072716s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_025_nodes_validate_get_observer [0.073990s] ... 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-3e932881-8f92-4446-8f25-ad3e720845ee
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_with_auth [0.068653s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_026_nodes_maintenance_put_admin [0.074128s] ... 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-fc100e7f-24b2-4862-9b73-77b685b28dc7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_without_auth [0.074640s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_027_nodes_maintenance_put_member [0.069235s] ... 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-962329af-aac9-4182-b908-afdd8fea3ad5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_auth_failure_logging_threshold [0.062500s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_028_nodes_maintenance_put_observer [0.070250s] ... 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-5fb51452-daf7-4f25-9962-60b046edb9c1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_calls_step_foreach_url_clean [0.087564s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_029_nodes_maintenance_delete_admin [0.069918s] ... 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-2b48eaf0-f2ae-4775-9287-b2533514cce5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_calls_step_foreach_url_deploy [0.083423s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_030_nodes_maintenance_delete_member [0.070098s] ... 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-d6993914-0cbc-42b3-b4c9-03b847f734d9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_cleans_all_files_if_exc_thrown_clean [0.082296s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_031_nodes_maintenance_delete_observer [0.069779s] ... 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-d4a6f48f-5946-4d12-a50c-7be32ec375fb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_cleans_all_files_if_exc_thrown_deploy [0.078594s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_032_nodes_management_boot_device_put_admin [0.067679s] ... 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-12df7090-1f45-46e8-ab5f-0d7b8572ea1c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_033_nodes_management_boot_device_put_member [0.072071s] ... 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-7b48abea-fec1-4034-be60-65f6ac7cb184
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_doesnt_update_any_if_any_url_fails_clean [0.074732s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_034_nodes_management_boot_device_put_observer [0.066718s] ... 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-a6915d9a-5a6e-4368-85b1-0b5735c6b8d6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_doesnt_update_any_if_any_url_fails_deploy [0.071008s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_035_nodes_management_boot_device_get_admin [0.069070s] ... 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-43adf4f7-cccb-4af1-9fb1-44a7f45d334a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_checksum_validation_error_clean [0.083905s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_036_nodes_management_boot_device_get_member [0.068302s] ... 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-5ada58e3-e35e-424b-8018-80b984ab5e5b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_checksum_validation_error_deploy [0.074541s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_037_nodes_management_boot_device_get_observer [0.074146s] ... 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-cfb2702f-81bb-4747-96ce-a492e8c2d2c1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_invalid_component_type_clean [0.065435s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_038_nodes_management_boot_device_supported_get_admin [0.066856s] ... 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-ad4a2d76-1772-4990-9d9b-ec586021ebdd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_invalid_component_type_deploy [0.060363s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_039_nodes_management_boot_device_supported_get_member [0.077025s] ... 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-c2832d72-c54b-4a3c-84c5-a91ff6d493c3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_no_firmware_url_clean [0.068148s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_040_nodes_management_boot_device_supported_get_observer [0.067048s] ... 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-f78ad2dc-e7f5-4b6d-9b71-bf82caf57841
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_no_firmware_url_deploy [0.059983s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_041_nodes_management_inject_nmi_put_admin [0.066301s] ... 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-000f19e9-da90-48d1-bb24-466dda7d8298
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_invalid_update_mode_provided_clean [0.062619s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_042_nodes_management_inject_nmi_put_member [0.066849s] ... 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-3397dff6-bd8f-415d-929c-1f767da48e7e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_invalid_update_mode_provided_deploy [0.066868s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_043_nodes_management_inject_nmi_put_observer [0.067990s] ... 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-45ee24bb-a4c0-46d9-b19a-e10099a829f5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_sum_mode_with_component [0.074200s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_management.IloManagementTestCase.test_update_minimum_password_length [0.058986s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_044_nodes_states_get_admin [0.068537s] ... 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-20aafb8c-7986-421b-96c8-97c5b3e5bd95
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_validate [0.058292s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_045_nodes_states_get_member [0.094512s] ... 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-eb37522a-d1e4-4bca-b9bc-1a80435918d3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_invalid_component_clean [0.058093s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_046_nodes_states_get_observer [0.080714s] ... 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-8542fca9-63b7-4884-805e-d378f01311fc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_invalid_component_deploy [0.058347s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_management.IloManagementTestCase.test_write_firmware_sum_mode_swift_url_clean [0.047463s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_047_nodes_states_power_put_admin [0.084880s] ... 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-339b06a7-06ab-491b-9dc8-caf96e81b294
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_swift_url_deploy [0.059070s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_048_nodes_states_power_put_member [0.081252s] ... 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-2dd1dedb-4f55-4e88-a0af-09468db320d6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_049_nodes_states_power_put_observer [0.068046s] ... 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-4e5ca189-cf4f-4d11-b9d2-e1fb4490c3a2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_050_nodes_states_boot_mode_put_admin [0.088221s] ... 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-00c38b00-f5cf-4b5d-837e-10d5b4ed32eb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_without_component_clean [0.222533s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_management.IloManagementTestCase.test_write_firmware_sum_mode_without_component_deploy [0.046992s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_051_nodes_states_boot_mode_put_member [0.073754s] ... 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-f7241b19-58a5-4785-b222-7c697466509b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_create_raid_cleaning [0.054674s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_052_nodes_states_boot_mode_put_observer [0.085810s] ... 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-473c28df-4465-4fc2-ad19-c9234dc714b6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_create_raid_deploying [0.071565s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_delete_raid_cleaning [0.097166s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_053_nodes_states_secure_boot_put_admin [0.124496s] ... 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-8836c4b7-54bf-4704-a8b2-2e844577a6b2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_delete_raid_deploying [0.094753s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_raid.Ilo5RAIDTestCase.test_create_configuration_cleaning [0.077071s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_raid.Ilo5RAIDTestCase.test_create_configuration_deploying [0.058204s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_raid.Ilo5RAIDTestCase.test_create_configuration_empty_target_raid_config_cleaning [0.051068s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_raid.Ilo5RAIDTestCase.test_create_configuration_empty_target_raid_config_deploying [0.057788s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_raid.Ilo5RAIDTestCase.test_create_configuration_ilo_error_cleaning [0.057093s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_raid.Ilo5RAIDTestCase.test_create_configuration_ilo_error_cleaning_deploying [0.055063s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_054_nodes_states_secure_boot_put_member [0.491625s] ... 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-be514e72-8cb4-40c9-ad2b-574f5acf19b4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_non_root_cleaning [0.050540s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_055_nodes_states_secure_boot_put_observer [0.070174s] ... 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-d3b16d7c-b401-49c4-8282-e07d18a57e22
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_non_root_deploying [0.049578s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_cleaning [0.059220s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_056_nodes_states_provision_put_admin [0.069199s] ... 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-e4037d19-e47a-4cc0-82c8-e9d1c1b23d7c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_deploying [0.048986s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_057_nodes_states_provision_put_member [0.069050s] ... 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-6a3abce9-95f8-486d-8c95-d3b6a324b3b5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_skip_non_root_cleaning [0.057916s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_058_nodes_states_provision_put_observer [0.069440s] ... 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-cdac30c6-184d-4b18-b75a-3385e0eb9d31
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_skip_non_root_deploying [0.043367s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_059_nodes_states_raid_put_admin [0.068017s] ... 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-ec47c10b-f6b4-4158-90bb-e4c23e95ec25
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_cleaning [0.067287s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_deploying [0.058267s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_060_nodes_states_raid_put_member [0.073830s] ... 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-3c098040-e6a2-432d-bf07-24f7758363ba
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_failed_cleaning [0.063197s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_061_nodes_states_raid_put_observer [0.070181s] ... 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-75380ac7-89f0-4177-802f-2b1223c49aa1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_failed_deploying [0.060284s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_062_nodes_states_console_get_admin [0.068377s] ... 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-2a9b3aa9-cea0-4008-97b9-d0542443355c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_cleaning [0.046542s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_063_nodes_states_console_get_member [0.071972s] ... 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-d24e0364-6d24-4c12-ba0b-62ac65da2358
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_deploying [0.046773s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_raid.Ilo5RAIDTestCase.test_delete_configuration_ilo_error_cleaning [0.055989s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_064_nodes_states_console_get_observer [0.071971s] ... 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-c4523f85-e6f9-4bbf-b74f-aaa99611378e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_ilo_error_deploying [0.056896s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_065_nodes_states_console_put_admin [0.076118s] ... 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-e52dea30-94e7-47e1-bdc7-f0d18ee88c92
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_no_logical_drive_cleaning [0.051208s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_raid.Ilo5RAIDTestCase.test_delete_configuration_no_logical_drive_deploying [0.045192s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_cleaning [0.054317s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_066_nodes_states_console_put_member [0.149840s] ... 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-a9913454-a53e-4a9f-973a-cca0f5a31387
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_deploying [0.053593s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_067_nodes_states_console_put_observer [0.071447s] ... 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-270510fd-9440-4a28-b898-830916daacc4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_failed_cleaning [0.055579s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_068_nodes_vendor_passthru_methods_get_admin [0.072209s] ... 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-b59da0e0-faa9-43cb-ac26-6d83415cbd36
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_failed_deploying [0.053981s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_accelerators.AcceleratorsTestCase.test_accelerators [0.050615s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_069_nodes_vendor_passthru_methods_get_member [0.077216s] ... 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-608a04cc-9f9d-4b99-b86f-8e3692df6e57
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.inspector.hooks.test_architecture.ArchitectureTestCase.test_architecture [0.048206s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_extra_hardware.ExtraHardwareTestCase.test_extra_hardware_with_errors [0.041160s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_070_nodes_vendor_passthru_methods_get_observer [0.085038s] ... 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-b5a34882-354a-4e26-823d-1777e3b657ce
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.inspector.hooks.test_extra_hardware.ExtraHardwareTestCase.test_invalid_data_strict_mode_off [0.039983s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_extra_hardware.ExtraHardwareTestCase.test_invalid_data_strict_mode_on [0.039981s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_071_nodes_vendor_passthru_get_admin [0.073146s] ... 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-85e7864f-2972-4fc3-8386-a515ab3202b2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.inspector.hooks.test_extra_hardware.ExtraHardwareTestCase.test_no_data_received [0.038858s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_extra_hardware.ExtraHardwareTestCase.test_valid_extra_hardware [0.040798s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_072_nodes_vendor_passthru_get_member [0.068581s] ... 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-e3528ffe-84a0-4f10-b534-c5fe22d9e37d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.inspector.hooks.test_memory.MemoryTestCase.test_memory [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(
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_073_nodes_vendor_passthru_get_observer [0.075091s] ... 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-f9e1d23a-8a16-40e9-bb1e-43fef5c7e4a8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.inspector.hooks.test_ports.AddPortsTestCase.test_add_ports [0.055424s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_074_nodes_vendor_passthru_post_admin [0.075792s] ... 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-0aa0ab6b-b615-48b8-8315-645db7f4b4db
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.inspector.hooks.test_ports.AddPortsTestCase.test_duplicates [0.055204s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_075_nodes_vendor_passthru_post_member [0.070372s] ... 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-e75163f8-81b5-405b-8acf-028b7e77ef6d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.inspector.hooks.test_ports.UpdatePortsTestCase.test_keep_added [0.077327s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_076_nodes_vendor_passthru_post_observer [0.071999s] ... 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-db169b7b-a131-4ad8-a7bd-b73e6bcf5b0c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.inspector.hooks.test_ports.UpdatePortsTestCase.test_keep_all [0.072842s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_077_nodes_vendor_passthru_put_admin [0.077628s] ... 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-eac9274e-bbe8-4fc9-8eae-9e4d76cfa752
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.inspector.hooks.test_ports.UpdatePortsTestCase.test_keep_present [0.075196s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_ports.UpdatePortsTestCase.test_keep_pxe_enabled [0.078545s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_078_nodes_vendor_passthru_put_member [0.089109s] ... 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-18684b1f-456e-439d-b8a0-a5e30ae8a9fd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_079_nodes_vendor_passthru_put_observer [0.084428s] ... 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-2cfb2634-c182-43b3-a8c1-aaadfef5b218
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_080_nodes_vendor_passthru_delete_admin [0.086011s] ... 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-6d04ed5e-5f79-4eee-bb49-a31da5dd843f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.inspector.hooks.test_validate_interfaces.GetInterfacesTestCase.test_get_interfaces [0.206661s] ... ok
{3} ironic.tests.unit.drivers.modules.inspector.hooks.test_validate_interfaces.ValidateInterfacesTestCase.test_active_interfaces [0.025081s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_081_nodes_vendor_passthru_delete_member [0.071311s] ... 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-5a9909a8-d794-471f-9fd5-4296d5a4a6c2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.inspector.hooks.test_validate_interfaces.ValidateInterfacesTestCase.test_all_interfaces [0.023733s] ... ok
{3} ironic.tests.unit.drivers.modules.inspector.hooks.test_validate_interfaces.ValidateInterfacesTestCase.test_no_pxe_fallback_to_all [0.024880s] ... ok
{3} ironic.tests.unit.drivers.modules.inspector.hooks.test_validate_interfaces.ValidateInterfacesTestCase.test_nothing_to_add [0.023165s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_082_nodes_vendor_passthru_delete_observer [0.076307s] ... 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-9c469712-7e29-402d-a50e-aca5956a3256
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.inspector.hooks.test_validate_interfaces.ValidateInterfacesTestCase.test_pxe_only [0.024324s] ... ok
{3} ironic.tests.unit.drivers.modules.inspector.test_interface.CommonFunctionsTestCase.test_get_callback_endpoint [0.024635s] ... ok
{3} ironic.tests.unit.drivers.modules.inspector.test_interface.CommonFunctionsTestCase.test_get_callback_endpoint_mdns [0.022908s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_083_nodes_traits_get_admin [0.073322s] ... 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-fe2a2ca4-dadc-449e-89f1-8b97b182f3b1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.inspector.test_interface.CommonFunctionsTestCase.test_get_callback_endpoint_no_loopback [0.023316s] ... ok
{3} ironic.tests.unit.drivers.modules.inspector.test_interface.CommonFunctionsTestCase.test_get_callback_endpoint_override [0.028310s] ... ok
{3} ironic.tests.unit.drivers.modules.inspector.test_interface.CommonFunctionsTestCase.test_get_properties [0.023912s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_084_nodes_traits_get_member [0.074813s] ... 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-da75d25f-ae5f-40f5-ae14-43563612ea04
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.inspector.test_interface.CommonFunctionsTestCase.test_validate_ok [0.023026s] ... ok
{3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_instance [0.042957s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_085_nodes_traits_get_observer [0.073037s] ... 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-bfe602eb-df11-4c1c-aae5-c4b52c423859
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_ramdisk [0.047978s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_ramdisk_rescue [0.047537s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_086_nodes_traits_put_admin [0.076298s] ... 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-6801f28e-328c-4ce8-a454-17ea2dc55d2d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_get_properties [0.038310s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_087_nodes_traits_put_member [0.077818s] ... 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-3176ad70-5ef8-4b89-8edd-888110431bbe
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance [0.048431s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_active [0.063490s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_088_nodes_traits_put_observer [0.089400s] ... 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-77ffa65f-c53e-4173-8812-015ed6fbdf4e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_kickstart [0.090829s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_kickstart_bios [0.079661s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_lenovo [0.050465s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_ramdisk_pxe_conf_exists [0.062486s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_ramdisk_pxe_conf_missing [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.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk [0.071668s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_bios [0.068930s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_089_nodes_traits_delete_admin [0.482458s] ... 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-d84538b2-2352-477b-ba66-6216d948ff68
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_cleaning [0.075803s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_090_nodes_traits_delete_member [0.068750s] ... 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-3ff8c111-ee91-4cb4-9fa2-2eaf43fd20eb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.072372s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_091_nodes_traits_delete_observer [0.072215s] ... 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-0d7dea44-f2a2-4723-8b9e-54746d86a83a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.065517s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_092_nodes_traits_trait_put_admin [0.078562s] ... 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-b7a7e8c4-0b4b-423a-8b1d-e9fbdd061eea
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_rescue [0.066267s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_093_nodes_traits_trait_put_member [0.072656s] ... 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-17447858-915a-4f1c-8405-68439924b830
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_rescue_bios [0.068315s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_094_nodes_traits_trait_put_observer [0.069986s] ... 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-b4f666d9-8980-45e1-af16-499f9b2c8787
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.077491s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_095_nodes_traits_trait_delete_admin [0.066052s] ... 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-fa09cba6-c221-4880-affd-a4f29657badf
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.062716s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_096_nodes_traits_trait_delete_member [0.067533s] ... 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-788ad1ee-6f69-4270-9a69-a4346732d560
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.075928s] ... ok
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.api.test_acl.TestRBACScoped.test_scoped_canary_097_nodes_traits_trait_delete_observer [0.069940s] ... 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-bde1f431-c51e-42b4-bc1b-3c5e00f8150b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_bios [0.084803s] ... ok
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.api.test_acl.TestRBACScoped.test_scoped_canary_098_nodes_vifs_get_admin [0.070092s] ... 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-a62c92cf-e3a7-4e1c-9430-5dc1f783070b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_099_nodes_vifs_get_member [0.068517s] ... 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-e27f87f0-c69d-470b-b1e8-cd1b144ae632
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_uefi [0.075098s] ... ok
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.api.test_acl.TestRBACScoped.test_scoped_canary_100_nodes_vifs_get_observer [0.071401s] ... 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-8ee297e2-4d49-4bee-be38-6bde8224ce04
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_uefi [0.066718s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_deploy_kernel [0.038956s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_101_nodes_vifs_post_admin [0.074545s] ... 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-12315858-a744-4058-9858-733ce5b27867
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_deploy_ramdisk [0.039200s] ... ok
{3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_no_port [0.038098s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_102_nodes_vifs_post_member [0.068398s] ... 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-48142052-0d38-4e0f-9878-5db1d8b31587
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_good [0.038145s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_103_nodes_vifs_post_observer [0.073301s] ... 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-927f5674-0ba2-4c2c-9571-0849ecad7160
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_104_nodes_vifs_node_vif_ident_delete_admin [0.066195s] ... 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-61be2e3f-ee96-4159-afe4-95845475cf98
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_105_nodes_vifs_node_vif_ident_delete_member [0.066459s] ... 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-a2396760-3317-4559-af66-cc2fbdcc7044
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_good_whole_disk_image [0.213643s] ... ok
{3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_inspection [0.043152s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_106_nodes_vifs_node_vif_ident_delete_observer [0.064483s] ... 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-5f3146d6-4536-4fd8-bf5b-4df327c8f0d1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_inspection_no_inspection_ramdisk [0.052041s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_107_nodes_management_indicators_get_admin [0.065471s] ... 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-a26fa4e8-d6f5-47cb-b3c6-f54e4571217e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_kickstart_fail_http_url_not_set [0.050306s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_108_nodes_management_indicators_get_member [0.066391s] ... 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-0bdfe4e0-7bc6-4b90-80ab-750fff575771
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_kickstart_missing_stage2_id [0.051349s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_no_image_source_for_local_boot [0.039658s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_109_nodes_management_indicators_get_observer [0.067666s] ... 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-a833b363-23e6-4ead-9849-22fd395e5bb5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_non_local [0.040487s] ... ok
{1} 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.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_skip_check_write_image_false [0.039944s] ... ok
{1} 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.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_avoid_repeatedly_resume_cleaning [0.049655s] ... ok
{3} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_completing_status [0.036277s] ... ok
{1} 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.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_other_clean_state [0.035250s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_113_portgroups_get_admin [0.060118s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-5578c810-eca9-4891-aee4-69f8144f47e0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_clean_fail [0.041008s] ... ok
{3} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_complete_cleaning [0.043242s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_114_portgroups_get_member [0.057955s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-611163ce-4f44-4d47-a63a-10c94cea3144
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_two_nodes_with_fgi_status_none [0.047855s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_115_portgroups_get_observer [0.059432s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-2bf5b8b4-9611-4984-a172-b1264df227ac
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_two_nodes_without_raid_config [0.042200s] ... ok
{3} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_fgi_status [0.028769s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_116_portgroups_post_admin [0.067062s] ... 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-4037120b-4d9d-4356-940e-8a96b1ef23e7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_input [0.033838s] ... ok
{3} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_node [0.028351s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_117_portgroups_post_member [0.068214s] ... 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-ea18cec0-d550-44fe-a1eb-74301de82d02
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_raid_config [0.027855s] ... ok
{3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__is_expected_power_state [0.023544s] ... ok
{3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_invalid_target_state [0.033351s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_118_portgroups_post_observer [0.067775s] ... 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-b48ac0ff-ba6c-46dd-b667-b353e3eddd82
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_power_off_ok [0.033012s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_119_portgroups_detail_get_admin [0.059439s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups/detail WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-f566ae30-8102-4d5d-9e16-6d34350e86de
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_power_on_ok [0.034465s] ... ok
{3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_reboot_ok [0.033479s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_120_portgroups_detail_get_member [0.058050s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups/detail WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-31ac2254-0ccc-4fce-b075-0f20a2adc48a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_scci_exception [0.034141s] ... ok
{3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_snmp_exception [0.034243s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_121_portgroups_detail_get_observer [0.059856s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/portgroups/detail WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-04c07a47-a1ab-432c-8c85-6934e9741c85
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_ok [0.034962s] ... ok
{3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok [0.034597s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_122_portgroups_portgroup_ident_get_admin [0.078865s] ... 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-7976a68c-18f9-4e84-93b6-0a6ab8240f61
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_123_portgroups_portgroup_ident_get_member [0.066548s] ... 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-bdb70c44-be2a-4181-a88f-c965aa35b635
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_124_portgroups_portgroup_ident_get_observer [0.065845s] ... 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-03d60da6-3cea-42eb-ba19-be06ce119ae2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_125_portgroups_portgroup_ident_patch_admin [0.251413s] ... 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-4aa5dd60-3954-4667-97ff-d7aaa98d7c35
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_126_portgroups_portgroup_ident_patch_member [0.068192s] ... 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-74822e94-1723-4e80-8c38-2754591756e0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_127_portgroups_portgroup_ident_patch_observer [0.069775s] ... 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-100a0e33-34fe-47fc-af84-33fbb89d657e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_128_portgroups_portgroup_ident_delete_admin [0.065819s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-4df57053-5ec3-4ff4-bf17-b88575311341
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_129_portgroups_portgroup_ident_delete_member [0.064041s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-c42e54c6-ee2c-4ccf-964e-3467a117f6c8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_130_portgroups_portgroup_ident_delete_observer [0.066128s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-ce8e52b0-92c5-425d-8647-0bab7713ed43
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_131_nodes_portgroups_get_admin [0.062902s] ... 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-1c52a281-e861-483c-ba97-92ef333211bf
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_132_nodes_portgroups_get_member [0.064421s] ... 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-12e9f952-9e1e-40b0-bae1-e9ec42e3b7c5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_133_nodes_portgroups_get_observer [0.062301s] ... 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-16ff3c66-7584-4a29-91f7-dce7a37681f5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_134_nodes_portgroups_detail_get_admin [0.062188s] ... 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-9f90781c-6f62-4bbb-9cd9-81a244d2b287
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_135_nodes_portgroups_detail_get_member [0.062666s] ... 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-10c7bced-a9a9-47bd-8d85-e5ec1ff5d9ae
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_136_nodes_portgroups_detail_get_observer [0.063671s] ... 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-48795ec8-ce40-4bc3-b584-c5ef7a54b20b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_137_ports_get_admin [0.059709s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-43628310-c99a-49e9-a122-81843ca0452b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_138_ports_get_member [0.058336s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-04b7816b-5130-41c7-81b4-2a3d0db9eb8a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_139_ports_get_observer [0.059303s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-f72ad124-2312-4595-9908-4b05e7ec6f45
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_140_ports_post_admin [0.066817s] ... 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-0f70274f-5e02-4524-9d03-b095a1a152cc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_141_ports_post_member [0.066636s] ... 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-3266903c-e3b1-4987-801e-bdee15ca7e46
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_142_ports_post_observer [0.067438s] ... 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-3eb4370f-8eba-4b3b-ac1c-abca06fe21c2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_143_ports_detail_get_admin [0.060741s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports/detail WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-3631eb6b-82e5-4a20-8b01-c3dee349eb48
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_144_ports_detail_get_member [0.059363s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports/detail WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-c3677bea-9b71-4042-b4e4-710f0396db59
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_145_ports_detail_get_observer [0.058008s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/ports/detail WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-ddc63d6d-8e4b-4b29-bd37-b5baf9b7e9bb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_146_ports_port_id_get_admin [0.063567s] ... 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-1cca5721-d1e0-4a5b-9380-42c9266a2509
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_147_ports_port_id_get_member [0.064072s] ... 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-120beab2-e125-4c48-b959-fad47ee7ce35
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_148_ports_port_id_get_observer [0.065532s] ... 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-fbdc1493-46f9-4434-ad0c-1576504ed4a1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_149_ports_port_id_patch_admin [0.067556s] ... 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-2b80428e-edd0-489c-9566-685b1ca1d27e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_150_ports_port_id_patch_member [0.068446s] ... 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-9bfb1936-8415-4317-9945-d233ec1b3210
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_soft_power_off [2.054756s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_151_ports_port_id_patch_observer [0.068297s] ... 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-efb3dd1e-8fe6-4740-ae20-e06006aa3cc3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_152_ports_port_id_delete_admin [0.064002s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-b9c8f2b7-08f2-4d8f-aa3d-0472a6b7ba21
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_153_ports_port_id_delete_member [0.065689s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-43d4f51c-a699-4433-8ef2-5b73774c07fd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_154_ports_port_id_delete_observer [0.065790s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-fc45cf55-ccf0-45e1-a26f-427a4337408d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_155_nodes_ports_get_admin [0.063466s] ... 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-2a06bcff-26cc-4456-bd57-b591c1a9263a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_156_nodes_ports_get_member [0.063502s] ... 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-e1d63456-b0a6-4303-8edc-641a9f7da37b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_157_nodes_ports_get_observer [0.063836s] ... 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-4cbf4718-5237-4cac-a6f7-4a56df7114bb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_158_nodes_ports_detail_get_admin [0.063804s] ... 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-5ca9bef4-5945-406e-aa1c-de2009d5c657
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_159_nodes_ports_detail_get_member [0.065787s] ... 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-deb24d6b-b75d-4c6f-aa5f-6145f10c79e2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_160_nodes_ports_detail_get_observer [0.064964s] ... 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-41f355b5-ca6f-4b6d-a800-90d6ca8ace15
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_161_portgroups_ports_get_admin [0.065259s] ... 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-6a79fed8-2212-4626-ade8-add8ab3a6492
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_162_portgroups_ports_get_member [0.361302s] ... 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-39c5f8aa-9c90-42de-bcf6-c17fa0dbf830
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_163_portgroups_ports_get_observer [0.072187s] ... 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-6f47ad32-b268-4928-9339-eb1693e32b01
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_164_portgroups_ports_detail_get_admin [0.069675s] ... 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-27eeefde-6491-442f-96f4-2a8d5b85c7a8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_165_portgroups_ports_detail_get_member [0.071685s] ... 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-a7398195-dc14-47fc-bb31-4114bfba984a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_166_portgroups_ports_detail_get_observer [0.073882s] ... 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-94104fa5-9190-4388-bebc-e04fef04de82
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_167_volume_get_admin [0.063364s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-29f24e18-f454-4b89-9393-294d8a586f0c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_168_volume_get_member [0.064422s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-4e97f3bb-ce4f-4396-96f5-fe5f1f499d8e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_169_volume_get_observer [0.063090s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-f5e5bbdc-58a6-41dc-8d48-f9f0e75e039c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_170_volume_connectors_get_admin [0.065671s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-47bf798e-5116-4694-bdb2-adecf9af66fd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_171_volume_connectors_get_member [0.069337s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-d8869d12-e854-43c3-be74-01130dbd28ee
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_172_volume_connectors_get_observer [0.065188s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-d1cb8c9d-6a6f-4200-933e-1420d772c2bb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_173_volume_connectors_post_admin [0.073987s] ... 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-e562ec40-c9e0-4beb-a119-f0997b6e2f9d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_174_volume_connectors_post_member [0.075973s] ... 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-6366d01b-0e2a-44fe-b995-4ef5339236a2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_175_volume_connectors_post_observer [0.087065s] ... 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-f31fabb7-e93b-4e07-9e44-1c23f530b543
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_176_volume_volume_connector_id_get_admin [0.080002s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors/916937ec-2b38-426e-9801-dcfaf1c692e5 WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-bb14dc29-e9a9-43d5-954c-834d1be3085c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 916937ec-2b38-426e-9801-dcfaf1c692e5 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_soft_reboot [2.074406s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_177_volume_volume_connector_id_get_member [0.079491s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors/25828f25-e852-46ef-9df1-cec9e80a9056 WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-d67962e0-9037-4532-9637-45483d3a78e8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 25828f25-e852-46ef-9df1-cec9e80a9056 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_178_volume_volume_connector_id_get_observer [0.079729s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/connectors/61abb119-71c1-45fc-a2b8-a7c415d9cc4e WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-9840b650-91af-4ae0-8c8d-8f5377cd6880
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 61abb119-71c1-45fc-a2b8-a7c415d9cc4e could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_179_volume_volume_connector_id_patch_admin [0.086730s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/connectors/70dc27ac-5540-492d-9daa-e21012bb11e6 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-f73ceae9-86bc-42a5-a89a-5999e509c805
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 70dc27ac-5540-492d-9daa-e21012bb11e6 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_180_volume_volume_connector_id_patch_member [0.071826s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/connectors/0ade8c86-4e8c-460e-bd38-fd06c2bb46d2 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-291859ce-f084-4bce-8794-003faca23c1d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 0ade8c86-4e8c-460e-bd38-fd06c2bb46d2 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_181_volume_volume_connector_id_patch_observer [0.083865s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/connectors/8550d88f-ecfd-4a4f-b4e9-dacb06402598 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-53434889-e265-4943-bd94-6f7c0306b4c2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 8550d88f-ecfd-4a4f-b4e9-dacb06402598 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_182_volume_volume_connector_id_delete_admin [0.067772s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/connectors/cecb0c25-d6ea-4ade-bddd-f6569fee0aa7 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-0ebfecbd-9853-4fdb-9fb1-b80deeebf669
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector cecb0c25-d6ea-4ade-bddd-f6569fee0aa7 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_183_volume_volume_connector_id_delete_member [0.065304s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/connectors/5b32e0a2-7124-4bce-ab73-4102a620df26 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-737d3c49-b4f5-458d-962b-45827a9d59f8
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 5b32e0a2-7124-4bce-ab73-4102a620df26 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_184_volume_volume_connector_id_delete_observer [0.069359s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/connectors/da00bf66-562e-49fb-91b4-3a587ef36f3e GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-bf50bd10-2c4a-4843-ae9f-2b0dd82104af
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector da00bf66-562e-49fb-91b4-3a587ef36f3e could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_185_volume_targets_get_admin [0.061194s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-250f4d06-0e34-49d2-9315-4ab5c51cb3a4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_186_volume_targets_get_member [0.066658s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-45d2bc21-dc7d-4892-9ea8-f2fdb3c0759c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_187_volume_targets_get_observer [0.063601s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-a09623fc-e525-433d-9c06-6eccb09d6281
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_188_volume_targets_post_admin [0.071139s] ... 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-a9ce4293-f0c9-4ab3-b288-7c8f46f88ff9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_189_volume_targets_post_member [0.070016s] ... 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-7ea3568b-ae7d-4df9-ab5d-762d319e1301
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_190_volume_targets_post_observer [0.071891s] ... 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-20ce15bb-7ba1-40e5-8fe4-a5338be77c6d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_191_volume_volume_target_id_get_admin [0.070192s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets/296f9b23-45c8-4f94-a210-147fb5c27bfe WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-a21aa66c-8d4f-4d27-9570-bc28afa270dc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 296f9b23-45c8-4f94-a210-147fb5c27bfe could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_192_volume_volume_target_id_get_member [0.066467s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets/b1a00506-5e89-4b51-92d2-54be3eee7b77 WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-40f98fd1-3e8f-4e4f-aa45-a32d389cd98b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target b1a00506-5e89-4b51-92d2-54be3eee7b77 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_193_volume_volume_target_id_get_observer [0.068849s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/volume/targets/0f35fa4d-04a5-46b3-8cf9-b6a7e36342c7 WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-0555140c-6162-43c6-8125-cfb9b510c35b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 0f35fa4d-04a5-46b3-8cf9-b6a7e36342c7 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_194_volume_volume_target_id_patch_admin [0.069289s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/targets/e7ab4e27-1075-4363-abd8-29a2a807de39 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-01737daa-e358-4d11-a382-9bab89d31b81
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target e7ab4e27-1075-4363-abd8-29a2a807de39 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_195_volume_volume_target_id_patch_member [0.067901s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/targets/a4dbe9d2-bd4e-430a-b197-8e34bf920718 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-683113d2-be2c-4fb7-8d3f-bd7ff046d1cd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target a4dbe9d2-bd4e-430a-b197-8e34bf920718 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_196_volume_volume_target_id_patch_observer [0.068530s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/volume/targets/3fcb8e18-0fe6-4e68-951d-de01a1e910e0 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-19350749-25a2-4770-9674-4fcf72e18acb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 3fcb8e18-0fe6-4e68-951d-de01a1e910e0 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_197_volume_volume_target_id_delete_admin [0.065338s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/targets/47a1a5b5-9dfa-4c88-afde-64e3b1682dde GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-11fdb928-e46f-4593-abe2-8dd53c60dd3b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 47a1a5b5-9dfa-4c88-afde-64e3b1682dde could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_198_volume_volume_target_id_delete_member [0.237737s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/targets/26dfb93f-481f-429d-aa02-cf353b024fd9 GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-461196a9-abcc-469f-85f9-d7262a11a291
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 26dfb93f-481f-429d-aa02-cf353b024fd9 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_199_volume_volume_target_id_delete_observer [0.064676s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/volume/targets/a4f4db31-8ef8-4327-908e-b58847a8d5ab GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-8d69c5ac-b555-40b2-a1a4-1662a95674bb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target a4f4db31-8ef8-4327-908e-b58847a8d5ab could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_200_nodes_volume_get_admin [0.068786s] ... 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-687bc856-7239-461e-bfe5-9898d7164530
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_201_nodes_volume_get_member [0.069486s] ... 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-a6fbd753-fbd6-43f6-bfa3-3a44b2ec72f2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_202_nodes_volume_get_observer [0.067313s] ... 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-17edb7a4-a75c-4191-a3e1-93c3887150d0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_203_nodes_volume_connectors_get_admin [0.081414s] ... 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-68391217-2fbc-4d0c-b84f-9b721ef5ffb1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_timeout [2.081060s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_204_nodes_volume_connectors_get_member [0.072837s] ... 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-f77f8801-1aec-4e22-8468-5774861f1c36
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_power_state_default [0.110521s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_205_nodes_volume_connectors_get_observer [0.067541s] ... 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-64813c86-ae8c-4a17-9919-65a882fbfcfc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_power_state_ipmi [0.054944s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_206_nodes_volume_targets_get_admin [0.078370s] ... 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-24f6ee44-302f-4855-b3a0-5670852fe201
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_power_state_redfish [0.055577s] ... ok
{3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_properties [0.035736s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_207_nodes_volume_targets_get_member [0.072994s] ... 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-01dfa90e-02b6-451b-b1e9-fa632c08733d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_power_on [0.040830s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_208_nodes_volume_targets_get_observer [0.067661s] ... 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-11334378-6c8e-4315-84aa-5d85e22d481a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_power_on_timeout [0.047839s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.irmc.test_power.IRMCPowerTestCase.test_reboot_reboot [0.064347s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_209_drivers_get_admin [0.080486s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-0aad6cc2-57d2-4916-a218-0b4212e87797
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_reboot_timeout [0.065160s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_210_drivers_get_member [0.062400s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-747fb8cc-b592-46b8-9a4e-815b2d41ee89
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_set_power_state [0.042377s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_211_drivers_get_observer [0.061054s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-84bca3c4-8376-4ed4-8fd9-a9e1784e4884
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_set_power_state_timeout [0.045477s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.irmc.test_power.IRMCPowerTestCase.test_validate_default [0.052721s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_212_drivers_driver_name_get_admin [0.069618s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers/fake-driverz WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-0551ac6f-49d1-4a9e-93d5-3bd3e2284c4b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.api.test_acl.TestRBACScoped.test_scoped_canary_213_drivers_driver_name_get_member [0.060080s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers/fake-driverz WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-f4602411-4248-44eb-bab5-4e99ea7b43bf
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.api.test_acl.TestRBACScoped.test_scoped_canary_214_drivers_driver_name_get_observer [0.062568s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers/fake-driverz WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-942b6660-f8e8-461e-ab21-fd82e394c3dd
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.api.test_acl.TestRBACScoped.test_scoped_canary_215_drivers_properties_get_admin [0.073334s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers/fake-driverz/properties WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-cf498733-db98-4ca4-af50-6506cc6e3916
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_216_drivers_properties_get_member [0.062359s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers/fake-driverz/properties WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-6f78ac97-d11b-4164-89a2-c1ee0a57a42f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_217_drivers_properties_get_observer [0.063162s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/drivers/fake-driverz/properties WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-19863a1f-1c68-47ac-972d-b4e5677de9bc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_fail_ipmi [0.350317s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_218_drivers_raid_logical_disk_properties_get_admin [0.063993s] ... 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-43e6d703-1278-41c2-bf62-dc203fa5e76a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_fail_redfish [0.043448s] ... ok
{3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_ipmi [0.041778s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_219_drivers_raid_logical_disk_properties_get_member [0.075194s] ... 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-20e0bb59-a6a7-4472-b54c-9c49680dfc57
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_redfish [0.045984s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_220_drivers_raid_logical_disk_properties_get_observer [0.063041s] ... 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-188580d9-8b7b-4ee9-9ace-ad5622494be2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address [0.052754s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address_VIF_MAC_update_fail [0.049126s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_221_drivers_vendor_passthru_methods_get_admin [0.066410s] ... 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-2b23a295-892f-498c-9440-aad8c5343d8b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address_no_vif_id [0.046601s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id ... SKIPPED: https://bugs.launchpad.net/ironic/+bug/2024994
{3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id_fail ... SKIPPED: https://bugs.launchpad.net/ironic/+bug/2024994
{3} 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.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_extra_add_new_key ... SKIPPED: https://bugs.launchpad.net/ironic/+bug/2024994
{3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_message_format_failure ... SKIPPED: https://bugs.launchpad.net/ironic/+bug/2024994
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_222_drivers_vendor_passthru_methods_get_member [0.080171s] ... 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-bb8c60da-1aa1-4b1b-be9a-a30c7d7ddccf
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_noportgroup [0.099192s] ... ok
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.api.test_acl.TestRBACScoped.test_scoped_canary_223_drivers_vendor_passthru_methods_get_observer [0.063914s] ... 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-6eb7e6ce-e6f5-4417-a6cc-243178237639
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.api.test_acl.TestRBACScoped.test_scoped_canary_224_drivers_vendor_passthru_get_admin [0.074010s] ... 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-ae077764-dde6-4475-b6bf-151ef6eae3b7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_portgroup_nostandalone_ports [0.109175s] ... ok
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.api.test_acl.TestRBACScoped.test_scoped_canary_225_drivers_vendor_passthru_get_member [0.063942s] ... 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-47d9bc75-e369-4542-b2e4-20a3d8be4c33
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_portgroup_standalone_ports [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(
/usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  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.api.test_acl.TestRBACScoped.test_scoped_canary_226_drivers_vendor_passthru_get_observer [0.076933s] ... 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-1bd1e6a6-a318-432c-9a60-3200fb6ee5c6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_noportgroup [0.085586s] ... ok
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.api.test_acl.TestRBACScoped.test_scoped_canary_227_drivers_vendor_passthru_post_admin [0.064637s] ... 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-cfc3e903-65e8-4ecb-9b67-253af5e6358d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.api.test_acl.TestRBACScoped.test_scoped_canary_228_drivers_vendor_passthru_post_member [0.060018s] ... 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-53072698-d2e0-4ea7-9ea7-448b5b27e3a6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_portgroup_nostandalone_ports [0.101783s] ... ok
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.api.test_acl.TestRBACScoped.test_scoped_canary_229_drivers_vendor_passthru_post_observer [0.062331s] ... 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-6b2c1492-8a19-4056-bbf9-d8851a984706
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.api.test_acl.TestRBACScoped.test_scoped_canary_230_drivers_vendor_passthru_put_admin [0.061272s] ... 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-b8c36ba0-7e64-40eb-8cea-419dab83436d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_portgroup_standalone_ports [0.101692s] ... ok
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.api.test_acl.TestRBACScoped.test_scoped_canary_231_drivers_vendor_passthru_put_member [0.069435s] ... 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-5756b753-3434-4968-9150-56ace142f196
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_noportgroup [0.087212s] ... ok
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.api.test_acl.TestRBACScoped.test_scoped_canary_232_drivers_vendor_passthru_put_observer [0.063368s] ... 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-dfb41535-77fd-4333-864f-f59d2203708d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.api.test_acl.TestRBACScoped.test_scoped_canary_233_drivers_vendor_passthru_delete_admin ... SKIPPED: not updated for scope testing
{3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_portgroup_nostandalone_ports [0.098424s] ... ok
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.api.test_acl.TestRBACScoped.test_scoped_canary_234_drivers_vendor_passthru_delete_observer ... SKIPPED: not updated for scope testing
{3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_portgroup_standalone_ports [0.099911s] ... ok
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.api.test_acl.TestRBACScoped.test_scoped_canary_235_nodes_bios_get_admin [0.067869s] ... 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-eef5ea7e-f522-473a-a289-9d74dd20ffb1
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_noportgroup [0.086853s] ... ok
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.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_portgroup_nostandalone_ports [0.108087s] ... ok
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.api.test_acl.TestRBACScoped.test_scoped_canary_236_nodes_bios_get_member [0.250032s] ... 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-c542ded0-891e-407d-aaff-c7e3ace99134
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_portgroup_standalone_ports [0.101852s] ... ok
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.api.test_acl.TestRBACScoped.test_scoped_canary_237_nodes_bios_get_observer [0.068095s] ... 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-91b61775-2020-44a4-af09-da55cda52b8b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address [0.058362s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address_fail [0.052323s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_238_nodes_bios_bios_setting_get_admin [0.073592s] ... 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-cc44400a-bf8d-4fbe-bb41-f7a259604da6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address_no_vif [0.051176s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_239_nodes_bios_bios_setting_get_member [0.069368s] ... 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-63dad2a3-ec2e-4abd-9d88-09d77c7020aa
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_novif_nopxe_ports [0.058939s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_240_nodes_bios_bios_setting_get_observer [0.068749s] ... 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-193e23a0-e2fa-42cb-aab0-9c0f514f4a33
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_novif_pxe_ports [0.053077s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_241_conductors_get_admin [0.071717s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-e0a9ef08-b60c-42b2-b953-c45733d4feda
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_pxe_ports_exc [0.062289s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_vif_nopxe_ports [0.056472s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_242_conductors_get_member [0.064888s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-dc3fcde3-e35a-4851-97e7-7d7f8bd1f508
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_243_conductors_get_observer [0.062133s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-12c98189-af75-4e75-ac2e-49d3f94174a6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_vif_pxe_ports [0.091701s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_244_conductors_hostname_get_admin [0.097711s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors/test-conductor-node WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-0be5facc-c7fd-423d-a7b1-5bf403aede46
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_remove_address [0.114783s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_noports [0.051494s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_245_conductors_hostname_get_member [0.105630s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors/test-conductor-node WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-185c8660-765e-4d8f-93fc-651f3ce8a84b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_novif_nopxe_ports [0.064848s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_246_conductors_hostname_get_observer [0.082077s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/conductors/test-conductor-node WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-2889e3d6-75f5-467d-a8a0-9ef7d5e31260
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_novif_pxe_ports [0.060038s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_247_allocations_post_admin [0.080441s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/allocations WITH {'resource_class': 'CUSTOM_TEST'} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-75e16b13-78fb-4399-b377-62effebbf621
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create_restricted\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_vif_nopxe_ports [0.058056s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_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.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_vif_pxe_ports [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(
{3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach [0.066735s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_249_allocations_post_observer [0.105074s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/allocations WITH {'resource_class': 'CUSTOM_TEST'} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-da6f82a1-070e-4963-8a8c-a17d64bfeab3
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create_restricted\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_active_node [0.055251s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_active_node_failure [0.068248s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_250_allocations_get_admin [0.090484s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-18d79c6e-2878-42d3-9aed-9e05b13cd882
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_failure [0.048325s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_251_allocations_get_member [0.082125s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-599050d2-bdea-4dc0-8a79-ceab2666f6f0
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_multiple_segment_mappings [0.062335s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_252_allocations_get_observer [0.081442s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-98f3c650-45f0-4091-aefb-d5e95d528c14
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_portgroup_no_address [0.061449s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_portgroup_physnet_inconsistent [0.052753s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_253_allocations_allocation_id_get_admin [0.088816s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations/3f4d2c6a-3f96-4f8d-99df-7acf2ce2d1da WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-11672015-d472-4cce-9db7-8f3a6349e37f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 3f4d2c6a-3f96-4f8d-99df-7acf2ce2d1da could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_update_port_exception [0.054625s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_with_physnet [0.053407s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_254_allocations_allocation_id_get_member [0.082502s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations/5f03f853-f2af-4f38-986b-ac575e212cfe WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-4cd143b3-7bc2-4a94-8777-ad0568ff117c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 5f03f853-f2af-4f38-986b-ac575e212cfe could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach [0.044479s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_255_allocations_allocation_id_get_observer [0.100130s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/allocations/2d31e089-e47b-4988-84a7-7d604399701e WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-e39c37f5-466d-4a1b-896b-d81f1aeb464c
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 2d31e089-e47b-4988-84a7-7d604399701e could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_256_allocations_allocation_id_patch_admin [0.127833s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/allocations/dde3b2ae-576a-47d4-b034-d6f38ca0196d WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-770ef160-c460-4ea8-9e7b-96e63259c85d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation dde3b2ae-576a-47d4-b034-d6f38ca0196d could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_active_node [0.294676s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_257_allocations_allocation_id_patch_member [0.114894s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/allocations/f45dc4b8-045c-421c-b75b-bb9354c208a9 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-31a75e65-0e23-49c9-a31c-278d9f699896
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation f45dc4b8-045c-421c-b75b-bb9354c208a9 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_active_node_failure [0.064982s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_258_allocations_allocation_id_patch_observer [0.071398s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/allocations/cd8db3e1-a693-4516-be9d-766b413d417c WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-cefe58a3-f33c-4643-b448-032a93edcce5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation cd8db3e1-a693-4516-be9d-766b413d417c could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_deleting_node [0.053845s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_259_allocations_allocation_id_delete_admin [0.061244s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/allocations/b6a91ad7-407c-4faa-9358-f126f982633c GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-cdd7af42-b57f-4f6c-8b97-c6e670b8b551
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation b6a91ad7-407c-4faa-9358-f126f982633c could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_not_attached [0.054371s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_260_allocations_allocation_id_delete_member [0.063400s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/allocations/84877991-8ca8-4692-867b-01f03a69d3ca GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-91879cfc-ba02-4960-be6e-24dcd60a8026
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 84877991-8ca8-4692-867b-01f03a69d3ca could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_portgroup [0.052970s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_261_allocations_allocation_id_delete_observer [0.063346s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/allocations/ed85274f-4b1a-4e66-8728-a05712b548be GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-64c96524-6c0f-483a-9f3b-fbc5f2e5859b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation ed85274f-4b1a-4e66-8728-a05712b548be could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id [0.055292s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_262_nodes_allocation_get_admin [0.065205s] ... 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-f5685308-5332-45aa-bfb2-8cfe21ec63ee
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id_portgroup [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(
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_263_nodes_allocation_get_member [0.063278s] ... 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-d9efa688-52e0-431a-ab8a-e99c66da8ad9
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id_raise [0.056737s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.network.test_flat.TestFlatInterface.test__unbind_flat_ports [0.049288s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_264_nodes_allocation_get_observer [0.063441s] ... 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-b712ee1a-262a-449a-8500-d9ded613a9a6
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__unbind_flat_ports_portgroup [0.066199s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_265_nodes_allocation_delete_admin [0.070078s] ... 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-9d324e4d-c769-4b24-be13-8b46963a8cbc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22e26c0b-03f2-4d2e-ae87-c02d7f33c000 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_cleaning_network [0.060018s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_266_nodes_allocation_delete_member [0.064307s] ... 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-d85dbdb2-329c-4f7e-91df-8fb8383b92be
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22e26c0b-03f2-4d2e-ae87-c02d7f33c000 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_267_nodes_allocation_delete_observer [0.063375s] ... 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-9d9a32fe-4529-471a-9bbf-cc230c897037
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22e26c0b-03f2-4d2e-ae87-c02d7f33c000 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_cleaning_network_from_node [0.088218s] ... ok
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.network.test_flat.TestFlatInterface.test_add_inspection_network [0.051642s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_268_deploy_templates_post_admin [0.068420s] ... 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-9f03f729-d5fd-4e4c-8af8-162d12e29d2a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_269_deploy_templates_post_member [0.070376s] ... 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-c58fc9d1-b71b-4e86-90bd-e0d9d6bdee95
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_inspection_network_from_node [0.083873s] ... ok
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.network.test_flat.TestFlatInterface.test_add_provisioning_network [0.049339s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_270_deploy_templates_post_observer [0.071589s] ... 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-071de478-776b-4129-ba4d-b306b18b7839
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_rescuing_network [0.044571s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.network.test_flat.TestFlatInterface.test_get_node_network_data [0.046412s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.network.test_flat.TestFlatInterface.test_init_no_cleaning_network [0.037653s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_271_deploy_templates_get_admin [0.116705s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-7a346a84-3219-403e-93c6-ebf0ba5e9ce4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_cleaning_network [0.052923s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_272_deploy_templates_get_member [0.068125s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-b97f7f13-3acb-48b9-b0ca-65921ec123e2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_cleaning_network_from_node [0.060405s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_273_deploy_templates_get_observer [0.080906s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-9726b9a4-6657-4886-95ca-32de7e20f38f
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_provisioning_network [0.047791s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.network.test_flat.TestFlatInterface.test_remove_rescuing_network [0.044843s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_274_deploy_templates_deploy_template_id_get_admin [0.068896s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates/6b065348-ba00-44cb-8465-38f29fb1f049 WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-ccc44431-c166-4659-a921-03de3b002a6d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate [0.043998s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_275_deploy_templates_deploy_template_id_get_member [0.063947s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates/dd028eac-2ec7-4280-861a-25aa8bfa13c5 WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-4af6bafc-2a61-44a4-b4ae-83d219ee7dce
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_from_node [0.055549s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.network.test_flat.TestFlatInterface.test_validate_inspection [0.049206s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.network.test_flat.TestFlatInterface.test_validate_inspection_exc [0.042255s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.network.test_flat.TestFlatInterface.test_vif_attach [0.046179s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.network.test_flat.TestFlatInterface.test_vif_detach [0.043486s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_276_deploy_templates_deploy_template_id_get_observer [0.234707s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/deploy_templates/4d75268a-de80-4630-a62b-e059ddae53a5 WITH {} GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-d72a5a53-e336-473c-b9ea-0c55ccc71424
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_list [0.043992s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.network.test_flat.TestFlatInterface.test_vif_port_changed [0.044094s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_277_deploy_templates_deploy_template_id_patch_admin [0.070162s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/deploy_templates/1e8c7163-fe0c-48a1-8f43-0c0d247e8718 WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-52d70a71-5478-46d3-b906-90cef8a1c981
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosRegistryTestCase.test_cache_bios_registry_save [0.063683s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_278_deploy_templates_deploy_template_id_patch_member [0.063137s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/deploy_templates/803ce464-effc-43ff-9f57-be32bced72eb WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-69947d63-e6e1-46c7-8576-bcb479eb44eb
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosRegistryTestCase.test_cache_empty_bios_registry [0.066762s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_279_deploy_templates_deploy_template_id_patch_observer [0.071945s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    PATCH /v1/deploy_templates/c888762d-6e95-47c5-a8db-b4cd62e58952 WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-87570998-67bd-49c4-91c1-573835d8a07b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosRegistryTestCase.test_cache_exception_bios_registry [0.068046s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_280_deploy_templates_deploy_template_id_delete_admin [0.059154s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/deploy_templates/8d6e2c5d-043d-4911-bcf8-7def5e36ebe3 GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-881820e1-c7c7-427b-9674-61157b82e560
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_281_deploy_templates_deploy_template_id_delete_member [0.061716s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/deploy_templates/b1417629-9733-429c-8aa3-fa6db80b0f75 GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-af0f9afb-92b7-4274-b74b-dab409c79861
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosRegistryTestCase.test_cache_no_bios_registry [0.070237s] ... ok
{3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system [0.050456s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_282_deploy_templates_deploy_template_id_delete_observer [0.063608s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    DELETE /v1/deploy_templates/b7090cb8-dae8-44b9-9c91-bf9537c79e93 GOT Response: 403 Forbidden
Content-Type: application/json
Openstack-Request-Id: req-e926298e-2322-42d3-b174-0018766b846e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_283_chassis_post_admin [0.065141s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-efcc14ca-87b4-451e-8684-071403fd1d4e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.api.test_acl.TestRBACScoped.test_scoped_canary_284_chassis_post_member [0.062481s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-f05c501f-e177-4d90-a4d1-c299024dd843
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.api.test_acl.TestRBACScoped.test_scoped_canary_285_chassis_post_observer [0.062576s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-234a80e9-bda5-4183-91cd-a1e8e47de5c4
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_multiple_systems [0.241644s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_286_chassis_get_admin [0.066998s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-18b36276-2800-4998-9a42-f64190b401d7
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_resource_access_error_retry [0.049661s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_287_chassis_get_member [0.057826s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-6e4f5957-3976-4c61-8c93-734a036856d2
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_resource_attribute_error [0.053983s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_288_chassis_get_observer [0.065479s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-d96cbd00-2a65-44fc-a54d-da8510104a76
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_resource_connection_error_retry [0.048811s] ... ok
{3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_resource_not_found [0.053809s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_289_chassis_detail_get_admin [0.058202s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis/detail WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-15d0ddd3-3b14-4d75-b7a6-29631677db4e
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_wait_until_get_system_ready [0.050799s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_290_chassis_detail_get_member [0.057882s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis/detail WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-b00db7fc-28a5-4e2b-b90f-29a7df85dae5
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_wait_until_get_system_ready_with_connection_error [0.052322s] ... ok
{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_291_chassis_detail_get_observer [0.059774s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/chassis/detail WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-4d64f4cb-145f-4834-b3f2-a8d0eac9e992
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.test_agent.ConfigureLocalBootTest.test_configure_local_boot [0.042572s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_292_chassis_chassis_id_get_admin [0.083027s] ... 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-c3cda3ab-80c9-46a3-b2da-5b9094300751
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.test_agent.ConfigureLocalBootTest.test_configure_local_boot_boot_loader_install_fail [0.086325s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_293_chassis_chassis_id_get_member [0.057886s] ... 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-c6ad9ce0-ab5e-4aca-8192-3014e488e356
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.test_agent.ConfigureLocalBootTest.test_configure_local_boot_enforce_persistent_boot_device_always [0.040737s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.ConfigureLocalBootTest.test_configure_local_boot_enforce_persistent_boot_device_default [0.040600s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_294_chassis_chassis_id_get_observer [0.058061s] ... 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-cf3c44d8-ef21-441a-883a-09cd10adbe69
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.test_agent.ConfigureLocalBootTest.test_configure_local_boot_enforce_persistent_boot_device_never [0.044185s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_295_chassis_chassis_id_patch_admin [0.060278s] ... 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-ec57470a-3146-4dc5-aec8-10df087fb4de
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.test_agent.ConfigureLocalBootTest.test_configure_local_boot_lenovo [0.046976s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_296_chassis_chassis_id_patch_member [0.060762s] ... 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-5ed854db-1868-4cf5-9a19-36ead0956d78
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.test_agent.ConfigureLocalBootTest.test_configure_local_boot_no_root_uuid [0.041848s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.ConfigureLocalBootTest.test_configure_local_boot_no_root_uuid_whole_disk [0.042502s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_297_chassis_chassis_id_patch_observer [0.064819s] ... 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-e33b9eb2-329f-47e0-a285-6640d6ae0f75
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.test_agent.ConfigureLocalBootTest.test_configure_local_boot_on_non_software_raid [0.042175s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_298_chassis_chassis_id_delete_admin [0.061420s] ... 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-7d04b1cf-5309-47dc-8093-916c2bf1df9a
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.test_agent.ConfigureLocalBootTest.test_configure_local_boot_on_software_raid [0.062019s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_299_chassis_chassis_id_delete_member [0.059266s] ... 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-0ed3f899-60b5-47fd-b36b-cc37a1cd853b
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.test_agent.ConfigureLocalBootTest.test_configure_local_boot_on_software_raid_bios [0.052179s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_300_chassis_chassis_id_delete_observer [0.060249s] ... 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-a4fcd4fa-65e4-4a32-9906-1c21b1457aaf
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"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.drivers.modules.test_agent.ConfigureLocalBootTest.test_configure_local_boot_on_software_raid_exception_bios [0.053244s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.ConfigureLocalBootTest.test_configure_local_boot_on_software_raid_exception_uefi [0.050484s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_301_node_history_get_admin [0.063224s] ... 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-1272ef19-2046-4cfe-8074-b3eeed9441dc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.test_agent.ConfigureLocalBootTest.test_configure_local_boot_on_software_raid_explicit_uuid [0.049689s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_302_node_history_get_member [0.063151s] ... 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-dc83107d-cc57-4c48-a284-6f4969cef27d
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.test_agent.ConfigureLocalBootTest.test_configure_local_boot_on_software_raid_explicit_uuid_bios [0.050850s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_303_node_history_get_observer [0.073170s] ... 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-416e21ed-1a4f-454f-9b42-9301210759dc
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.test_agent.ConfigureLocalBootTest.test_configure_local_boot_set_boot_device_fail [0.089809s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_304_node_history_get_entry_admin [0.083731s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/1e0edc52-f5cc-4187-b956-2edf740547e6 WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-2060121f-bd4b-4eca-ac42-c5197c5f84ea
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.test_agent.ConfigureLocalBootTest.test_configure_local_boot_uefi [0.044666s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.ConfigureLocalBootTest.test_configure_local_boot_whole_disk_image [0.042939s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_305_node_history_get_entry_member [0.067247s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/d735ede2-e503-40ae-b880-1be4cb8ae963 WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-deec2529-3f1f-4ff4-8605-b450c783e309
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.test_agent.ConfigureLocalBootTest.test_configure_local_boot_whole_disk_image_bios [0.040321s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.ConfigureLocalBootTest.test_configure_local_boot_with_prep [0.040183s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_acl.TestRBACScoped.test_scoped_canary_306_node_history_get_entry_observer [0.075573s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/e9cb22c7-8f80-4399-b960-210662725bfb WITH {} GOT Response: 404 Not Found
Content-Type: application/json
Openstack-Request-Id: req-39e51a2f-a940-41c5-95f7-5f681a65fe73
X-Openstack-Ironic-Api-Maximum-Version: 1.99
X-Openstack-Ironic-Api-Minimum-Version: 1.1
X-Openstack-Ironic-Api-Version: 1.99
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}
{1} ironic.tests.unit.api.test_healthcheck.TestHealthcheckMiddleware.test_disable [0.033827s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size [0.040622s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_healthcheck.TestHealthcheckMiddleware.test_enable [0.032716s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_fail [0.041068s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_exception [0.028597s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/things/ouch WITH {} GOT Response: 500 Internal Server Error
Content-Type: application/json
Openstack-Request-Id: req-29185089-47dc-4e53-ad33-b50f378d2ade
{"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"ouch\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_fail_by_agent_consumed_memory [0.038985s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_expose [0.025086s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/things WITH {'name': 'foo', 'flag': True} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-02ea24fa-59e7-40e1-98bb-9e317225ae9e
{"foo": true}
{1} ironic.tests.unit.api.test_method.TestExpose.test_expose_validation [0.023531s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/things WITH {'name': 'foo', 'flag': 'truish'} GOT Response: 400 Bad Request
Content-Type: application/json
Openstack-Request-Id: req-45f6c5ed-1956-427c-9881-46a37e69c51a
{"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}"}
{3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_disabled [0.039528s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.026815s] ... 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-942d894c-3822-4d6c-b2c5-0449bbd01317
{"three": "three", "four": "four", "five": "five"}
{1} ironic.tests.unit.api.test_method.TestExpose.test_post_body_validation [0.027143s] ... 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-96eb467e-44d8-4af1-b406-4bea9c892142
{"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for body: 'fourrrr' is too long\", \"debuginfo\": null}"}
{3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled [0.048442s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_response_204 [0.023407s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/things/no_content WITH {} GOT Response: 204 No Content
Openstack-Request-Id: req-6ad5296c-6365-4641-851b-f7b68672ddee
{3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled_format_qcow2 [0.063483s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.072044s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.037852s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_response_content [0.192870s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/things/response_content WITH {} GOT Response: 200 OK
Content-Type: application/json
Openstack-Request-Id: req-8d674346-d85c-4df4-8cc8-342f0a1774dc
"nothing"
{1} ironic.tests.unit.api.test_method.TestExpose.test_response_custom_status [0.029221s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    GET /v1/things/response_custom_status WITH {} GOT Response: 202 Accepted
Content-Type: application/json
Openstack-Request-Id: req-5b3ad34a-bbaa-4924-8d22-c7d4d414477e
"accepted"
{1} ironic.tests.unit.command.test_dbsync.DbSyncTestCase.test_upgrade_and_version [0.049638s] ... 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.
{1} ironic.tests.unit.command.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions [0.024818s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    foo() migrated 15 of 15 objects.
{1} ironic.tests.unit.command.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2 [0.023778s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    func1() migrated 15 of 15 objects.
func2() migrated 20 of 20 objects.
{1} ironic.tests.unit.command.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_done [0.023422s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    func1() migrated 10 of 10 objects.
func2() migrated 0 of 0 objects.
{3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_http_image [0.201694s] ... ok
{1} ironic.tests.unit.command.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_notdone [0.026005s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    func1() migrated 10 of 15 objects.
{3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_invalid_image_download_source [0.024626s] ... ok
{1} ironic.tests.unit.command.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_onedone [0.024555s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    func1() migrated 10 of 10 objects.
{3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_invalid_image_download_source2 [0.023585s] ... ok
{1} ironic.tests.unit.command.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_exception [0.023654s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    Error while running foo: bar.
{3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args [0.023654s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args_file [0.022743s] ... ok
{1} ironic.tests.unit.command.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_none [0.034629s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args_local_http [0.023279s] ... ok
{1} ironic.tests.unit.command.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_two_calls_done [0.039146s] ... 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.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args_local_via_node [0.023630s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_not_http [0.024142s] ... ok
{1} ironic.tests.unit.command.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations [0.032609s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    Running batches of 50 until migrations have been completed.
Data migrations have completed.
{1} ironic.tests.unit.command.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_batches [0.033459s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    Running batches of 50 until migrations have been completed.
Data migrations have completed.
{3} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue [0.042796s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{1} ironic.tests.unit.command.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_exception [0.034021s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    Running batches of 50 until migrations have been completed.
{3} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_bad_command_result [0.042530s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{1} ironic.tests.unit.command.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_invalid_option1 [0.033113s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    Malformed option m1key1=value1
{3} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_exc [0.042925s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{1} ironic.tests.unit.command.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_invalid_option2 [0.036676s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    Malformed option m1.key1value1
{1} ironic.tests.unit.command.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_max_count_neg [0.022120s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    "max-count" must be a positive value.
{3} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_missing_command_result [0.042933s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{1} ironic.tests.unit.command.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_notdone [0.022310s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    Data migrations have not completed. Please re-run.
{1} ironic.tests.unit.command.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_with_options [0.023223s] ... ok
Captured stdout:
~~~~~~~~~~~~~~~~
    Running batches of 50 until migrations have been completed.
Data migrations have completed.
{3} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_with_smartnic_port [0.046993s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed.
  debtcollector.deprecate(
{1} ironic.tests.unit.command.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions [0.032776s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command [0.025000s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_agent_client [0.022337s] ... ok
{1} ironic.tests.unit.command.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions_bad [0.024082s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code [0.024403s] ... ok
{1} ironic.tests.unit.command.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions_ignore_models [0.023118s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code_agent_busy [0.020059s] ... ok
{1} ironic.tests.unit.command.test_dbsync.OnlineMigrationTestCase.test_check_versions_bad [0.022135s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    This is bad
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code_agent_busy_conflict [0.019271s] ... ok
{1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_and [0.019255s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code_okay_error_typeerror_embedded [0.018702s] ... ok
{1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_boolean [0.018404s] ... ok
{1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_args [0.017674s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect [0.022434s] ... ok
{1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_args_kwargs [0.017684s] ... ok
{1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_function [0.018026s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_command_is_running [0.046142s] ... ok
{1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_kwargs [0.017276s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_command_not_running [0.021719s] ... ok
{1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_integer [0.019627s] ... ok
{1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_mac_address [0.017541s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_no_command_running [0.020750s] ... ok
{1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_mandatory [0.018190s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_wrong_command_running [0.021359s] ... ok
{1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_mixed_unvalidated [0.019561s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_json [0.019685s] ... ok
{1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_name [0.019750s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_post [0.023972s] ... ok
{1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_or [0.019616s] ... ok
{1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_string [0.018374s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_poll [0.042070s] ... ok
{1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_string_list [0.018082s] ... ok
{1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_unexpected_args [0.019184s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify [0.039714s] ... ok
{1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_uuid [0.023879s] ... ok
{1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_uuid_or_name [0.023990s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_config [0.044208s] ... ok
{1} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsGetChecksumTestCase.test_get_checksum_from_url_empty_response [0.025182s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_disable [0.038202s] ... ok
{1} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsGetChecksumTestCase.test_get_checksum_from_url_multiline [0.026762s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_disable_in_driver_info [0.023745s] ... ok
{1} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsGetChecksumTestCase.test_get_checksum_from_url_multiline_no_file [0.025576s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_internal [0.024560s] ... ok
{1} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsGetChecksumTestCase.test_get_checksum_from_url_nomatch_line [0.023926s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_invalid_file [0.022192s] ... ok
{1} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsGetChecksumTestCase.test_get_checksum_from_url_one_line [0.023335s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_body [0.020778s] ... ok
{1} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsTestCase.test_get_checksum_and_algo_image_checksum [0.023962s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_url [0.020206s] ... ok
{1} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsTestCase.test_get_checksum_and_algo_image_checksum_glance [0.021438s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_url_fail [0.020466s] ... ok
{1} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsTestCase.test_get_checksum_and_algo_image_checksum_http_url [0.019074s] ... ok
{1} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsTestCase.test_get_checksum_and_algo_image_checksum_https_url [0.019837s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_content_type_header [0.026425s] ... ok
{1} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsTestCase.test_get_checksum_and_algo_image_checksum_not_allowed [0.020609s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_execute_clean_step [0.021888s] ... ok
{1} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsTestCase.test_get_checksum_and_algo_image_checksum_sha256 [0.018644s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_execute_service_step [0.026936s] ... ok
{1} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsTestCase.test_get_checksum_and_algo_image_checksum_sha512 [0.018635s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue [0.021707s] ... ok
{1} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsTestCase.test_get_checksum_and_algo_no_checksum_file_url [0.019749s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_exc [0.020093s] ... ok
{1} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsTestCase.test_is_checksum_url [0.018464s] ... ok
{1} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsTestCase.test_is_checksum_url_file [0.018016s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_fallback [0.022299s] ... ok
{1} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsTestCase.test_is_checksum_url_string [0.017931s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_fallback_restricted [0.020007s] ... ok
{1} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsTestCase.test_validate_text_checksum [0.017772s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_clean_steps [0.019550s] ... ok
{1} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsTestCase.test_validate_text_checksum_invalid [0.017450s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status [0.022430s] ... ok
{1} ironic.tests.unit.common.test_cinder.TestCinderUtils.test__create_metadata_dictionary [0.024417s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status_no_retries [0.021554s] ... ok
{1} ironic.tests.unit.common.test_cinder.TestCinderUtils.test__get_attachment_id [0.023064s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status_retries [0.019690s] ... ok
{1} ironic.tests.unit.common.test_cinder.TestCinderUtils.test_is_volume_attached [0.022588s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status_verify [0.024158s] ... ok
{1} ironic.tests.unit.common.test_cinder.TestCinderUtils.test_is_volume_available [0.022552s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_service_steps [0.019329s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_service_steps_older_client [0.017948s] ... ok
{1} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_dynamic_driver_interfaces_set [0.026320s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_install_bootloader [0.021948s] ... ok
{1} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_invalid_network_interface [0.024640s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_install_bootloader_with_prep [0.021013s] ... ok
{1} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_invalid_network_interface_instance_info_override [0.024326s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_power_off [0.024028s] ... ok
{1} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_valid_interfaces [0.024561s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_sync [0.019099s] ... ok
{1} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_valid_network_interface_instance_info_override [0.024112s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_fail_agent_token_required [0.019671s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_fail_all_attempts [0.027319s] ... ok
{1} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface [0.032996s] ... ok
{1} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface_default_from_conf [0.025365s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_succeed_after_one_timeout [0.029935s] ... ok
{1} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_node_update_dynamic_driver_set_interfaces [0.058019s] ... ok
{3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_succeed_after_two_timeouts [0.064746s] ... ok
{1} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_none_network_interface [0.084464s] ... ok
{3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_cleaning_vif_port_id [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(
{1} ironic.tests.unit.common.test_fsm.FSMTest.test__validate_target_state [0.021710s] ... ok
{1} ironic.tests.unit.common.test_fsm.FSMTest.test_initialize [0.028975s] ... ok
{3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_provisioning_vif_port_id [0.052457s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_fsm.FSMTest.test_is_stable [0.019217s] ... ok
{1} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable_invalid_state [0.023233s] ... ok
{3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_vif_port_id [0.045057s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_fsm.FSMTest.test_is_stable_not [0.020723s] ... ok
{3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test__check_disk_layout_unchanged [0.023926s] ... ok
{1} ironic.tests.unit.common.test_fsm.FSMTest.test_process_event [0.018825s] ... ok
{3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test__check_disk_layout_unchanged_fails [0.022881s] ... ok
{1} ironic.tests.unit.common.test_fsm.FSMTest.test_target_state_stable [0.019968s] ... ok
{3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_configdrive [0.023310s] ... ok
{1} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_file_image_service [0.023195s] ... ok
{3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_good [0.022576s] ... ok
{1} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service [0.025118s] ... ok
{3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_ephemeral_disk [0.022972s] ... ok
{1} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service_url [0.025011s] ... ok
{3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_ephemeral_gb [0.024022s] ... ok
{1} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_http_image_service [0.022250s] ... ok
{3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_preserve_ephemeral [0.023395s] ... ok
{1} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_https_image_service [0.024625s] ... ok
{3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_root_gb [0.023720s] ... ok
{1} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_image_service_auth_override [0.023119s] ... ok
{3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_missing_instance_source [0.022969s] ... ok
{3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_missing_root_gb [0.022869s] ... ok
{3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_non_image_deploy [0.023682s] ... ok
{3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image [0.023262s] ... ok
{1} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_image_service_auth_override_no_data [0.204133s] ... ok
{1} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_image_service_auth_override_no_user_auth [0.018853s] ... ok
{1} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_image_service_invalid_image_ref [0.018110s] ... ok
{1} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_image_service_oci_url [0.019328s] ... ok
{3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image_anaconda [0.195253s] ... ok
{1} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_is_container_registry_url [0.018972s] ... ok
{3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image_no_kernel [0.023625s] ... ok
{1} ironic.tests.unit.common.test_images.ImageDetectFileFormatTestCase.test_detect_file_format_fails_multiple [0.027909s] ... ok
{3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_unicode_swap_mb [0.022601s] ... ok
{1} ironic.tests.unit.common.test_images.ImageDetectFileFormatTestCase.test_detect_file_format_passes [0.023853s] ... ok
{3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_ephemeral_gb [0.022954s] ... ok
{1} ironic.tests.unit.common.test_images.ImageDetectFileFormatTestCase.test_detect_file_format_passes_iso_gpt [0.022880s] ... ok
{3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_ephemeral_missing_format [0.022668s] ... ok
{1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test__hanlde_zstd_compression [0.023880s] ... ok
{1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test__hanlde_zstd_compression_disabled [0.023784s] ... ok
{3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_preserve_ephemeral_false [0.033974s] ... ok
{1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size_estimate_custom [0.019307s] ... ok
{3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_preserve_ephemeral_true [0.034012s] ... ok
{1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size_estimate_default [0.019341s] ... ok
{3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_whole_disk_image [0.023241s] ... ok
{1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size_estimate_raw_smaller [0.019979s] ... ok
{1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_download_size [0.019262s] ... ok
{3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_whole_disk_image_missing_root [0.023251s] ... ok
{1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service [0.023462s] ... ok
{3} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_ipmifailure_bios [0.043427s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_images.IronicImagesTestCase.test_fetch_image_service_auth_data_checksum [0.033527s] ... ok
{1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service_force_raw [0.030065s] ... ok
{3} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_ipmifailure_uefi [0.048916s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_images.IronicImagesTestCase.test_fetch_image_service_force_raw_combined_algo [0.025624s] ... ok
{3} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_okay [0.038104s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_images.IronicImagesTestCase.test_fetch_image_service_force_raw_no_checksum_algo [0.028215s] ... ok
{1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service_force_raw_with_checksum [0.027824s] ... ok
{3} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_some_other_exception [0.037907s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestImageCacheFetch.test_fetch_image_both_master_and_dest_out_of_date [0.023850s] ... ok
{1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service_with_checksum_mismatch [0.030622s] ... ok
{3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_and_master_uptodate [0.023536s] ... ok
{1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_show_image_service [0.023462s] ... ok
{3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_and_master_uptodate_no_force_raw [0.025609s] ... ok
{1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_show_no_image_service [0.022495s] ... ok
{3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_out_of_date [0.023538s] ... ok
{1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_gpt [0.025537s] ... ok
{3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_master_out_of_date [0.024300s] ... ok
{1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_gpt_backward_compatibility [0.029099s] ... ok
{3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_no_master_dir [0.027881s] ... ok
{1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw [0.029430s] ... ok
{3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_no_master_dir_disable_validation [0.021439s] ... ok
{1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_already_gpt_format [0.021900s] ... ok
{3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_no_master_dir_memory_low [0.021002s] ... ok
{1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_already_iso [0.021358s] ... ok
{3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_not_uuid [0.021118s] ... ok
{1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_already_raw_format [0.027362s] ... ok
{3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_not_uuid_no_force_raw [0.021066s] ... ok
{1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_fails_safety_check [0.023979s] ... ok
{3} ironic.tests.unit.drivers.modules.test_image_utils.IloImageHandlerTestCase.test_ilo_kernel_param_config [0.023871s] ... ok
{1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_not_permitted_format [0.020622s] ... ok
{3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_redfish_kernel_param_config [0.022952s] ... ok
{1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_not_raw_after_conversion [0.026989s] ... ok
{1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_safety_check_disabled [0.026457s] ... ok
{3} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist [0.071224s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_images.IronicImagesTestCase.test_image_to_raw_safety_check_disabled_fails_to_convert [0.026118s] ... ok
{1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_source_a_path_content_length [0.022780s] ... ok
{1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_source_a_path_content_type [0.022378s] ... ok
{1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_source_a_path_other_error [0.019278s] ... ok
{3} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist_attempts_port_creation_blindly [0.070632s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_images.IronicImagesTestCase.test_is_source_a_path_redirect [0.024929s] ... ok
{3} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist_mac_exception [0.039384s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_images.IronicImagesTestCase.test_is_source_a_path_returns_none [0.021658s] ... ok
{3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupCacheTestCase.test_clear [0.025594s] ... ok
{3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupCacheTestCase.test_new_value [0.027619s] ... ok
{1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_source_a_path_simple [0.052057s] ... ok
{1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_explicit [0.020730s] ... ok
{3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupCacheTestCase.test_replace_with_empty [0.025009s] ... ok
{1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_no_img_src [0.028964s] ... ok
{3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_bmc [0.044173s] ... ok
{1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_image [0.021387s] ... ok
{1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_image_with_type [0.020149s] ... ok
{1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_non_glance [0.026202s] ... ok
{3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_bmc_and_mac [0.065636s] ... ok
{1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_image [0.027760s] ... ok
{1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_image_oci [0.021164s] ... ok
{3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_bmc_and_mac_and_uuid [0.042359s] ... ok
{1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_non_glance [0.021051s] ... ok
{3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_bmc_and_mac_not_found [0.039300s] ... ok
{1} ironic.tests.unit.common.test_json_rpc.TestService.test_authenticated [0.036494s] ... ok
{1} ironic.tests.unit.common.test_json_rpc.TestService.test_authenticated_no_admin_role [0.026117s] ... ok
{3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_bmc_not_found [0.039920s] ... ok
{1} ironic.tests.unit.common.test_json_rpc.TestService.test_authenticated_no_allowed_role [0.027297s] ... ok
{3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_bmc_wrong_state [0.047480s] ... ok
{1} ironic.tests.unit.common.test_json_rpc.TestService.test_authenticated_with_allowed_role [0.034120s] ... ok
{1} ironic.tests.unit.common.test_json_rpc.TestService.test_expected_failure [0.026396s] ... ok
{3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_mac_not_found [0.051095s] ... ok
{1} ironic.tests.unit.common.test_json_rpc.TestService.test_expected_failure_oslo [0.035182s] ... ok
{3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_mac_wrong_state [0.042993s] ... ok
{1} ironic.tests.unit.common.test_json_rpc.TestService.test_http_basic [0.031740s] ... ok
{1} ironic.tests.unit.common.test_json_rpc.TestService.test_http_basic_not_authenticated [0.026325s] ... ok
{3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_macs [0.038941s] ... ok
{1} ironic.tests.unit.common.test_json_rpc.TestService.test_invalid_requests [0.029771s] ... ok
{3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_macs_partial [0.038058s] ... ok
{3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_unknown_bmc_and_mac [0.039866s] ... ok
{3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_uuid [0.037867s] ... ok
{3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_uuid_and_unknown_macs [0.048436s] ... ok
{3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_uuid_not_found [0.050045s] ... ok
{1} ironic.tests.unit.common.test_json_rpc.TestService.test_malformed_context [0.219811s] ... ok
{3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_uuid_wrong_state [0.053838s] ... ok
{1} ironic.tests.unit.common.test_json_rpc.TestService.test_mask_secrets [0.028017s] ... ok
{1} ironic.tests.unit.common.test_json_rpc.TestService.test_method_not_found [0.025428s] ... ok
{3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_conflicting_bmc_and_uuid [0.057877s] ... ok
{1} ironic.tests.unit.common.test_json_rpc.TestService.test_method_not_post [0.045597s] ... ok
{1} ironic.tests.unit.common.test_json_rpc.TestService.test_missing_argument [0.027641s] ... ok
{3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_conflicting_macs [0.047576s] ... ok
{1} ironic.tests.unit.common.test_json_rpc.TestService.test_no_context [0.026414s] ... ok
{3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_conflicting_macs_and_bmc [0.039729s] ... ok
{1} ironic.tests.unit.common.test_json_rpc.TestService.test_no_deny_methods [0.030573s] ... ok
{3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_conflicting_macs_and_uuid [0.041871s] ... ok
{1} ironic.tests.unit.common.test_json_rpc.TestService.test_non_json_body [0.029360s] ... ok
{1} ironic.tests.unit.common.test_json_rpc.TestService.test_notification [0.030093s] ... ok
{3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_duplicate_bmc [0.039365s] ... ok
{1} ironic.tests.unit.common.test_json_rpc.TestService.test_success [0.027404s] ... ok
{3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_duplicate_bmc_and_unknown_mac [0.040289s] ... ok
{1} ironic.tests.unit.common.test_json_rpc.TestService.test_success_no_result [0.026220s] ... ok
{1} ironic.tests.unit.common.test_json_rpc.TestService.test_unexpected_failure [0.026343s] ... ok
{3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_duplicate_bmc_resolved_by_macs [0.040631s] ... ok
{1} ironic.tests.unit.common.test_keystone.AuthConfTestCase.test_add_auth_opts [0.021582s] ... ok
{3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_no_input [0.036322s] ... ok
{1} ironic.tests.unit.common.test_keystone.AuthConfTestCase.test_os_service_types_alias [0.020044s] ... ok
{3} ironic.tests.unit.drivers.modules.test_inspect_utils.SwiftCleanUp.test_clean_up_swift_entries [0.044316s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_mdns.RegisterServiceTestCase.test_failure [0.055893s] ... ok
{3} ironic.tests.unit.drivers.modules.test_inspect_utils.SwiftCleanUp.test_clean_up_swift_entries_with_404_exception [0.044650s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.043787s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_mdns.RegisterServiceTestCase.test_ok [0.096492s] ... ok
{3} ironic.tests.unit.drivers.modules.test_inspect_utils.SwiftCleanUp.test_clean_up_swift_entries_with_fail_exceptions [0.044061s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_mdns.RegisterServiceTestCase.test_with_interfaces [0.056726s] ... ok
{1} ironic.tests.unit.common.test_mdns.RegisterServiceTestCase.test_with_params [0.055563s] ... ok
{1} ironic.tests.unit.common.test_mdns.RegisterServiceTestCase.test_with_race [0.058816s] ... ok
{1} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments [0.024727s] ... ok
{1} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments_fixed_ip_l2 [0.023705s] ... ok
{1} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments_fixed_ip_l3 [0.023244s] ... ok
{1} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments_no_physnet [0.022931s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__allocate_port [0.255073s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_network_failure [0.021045s] ... ok
{1} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_network_missing [0.020536s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_cold [0.038775s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_no_segment [0.020571s] ... ok
{1} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_no_segment_no_physnet [0.020292s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_fail [0.038562s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_port_failure [0.019293s] ... ok
{1} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_port_missing [0.020311s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_ok [0.038054s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_single_segment [0.020379s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_debug [0.023671s] ... ok
{1} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port [0.018024s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_failed [0.025276s] ... ok
{1} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_client_passed [0.018238s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_missing_sensor_reading [0.023209s] ... ok
{1} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_failure [0.024520s] ... ok
{1} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_if_bound [0.020864s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_ok [0.024921s] ... ok
{1} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_if_bound_not_bound [0.019628s] ... ok
{1} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_if_bound_not_bound_empty [0.019382s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__release_allocated_port [0.047121s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestUnbindPort.test_unbind_neutron_port_if_bound_port_not_found [0.019106s] ... ok
{1} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_if_bound_port_osc_error [0.020079s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_detect_vendor [0.038013s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestUnbindPort.test_unbind_neutron_port_not_found [0.023327s] ... ok
{1} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_not_reset_mac [0.021495s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_dump_sdr_fail [0.039108s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestUpdateNeutronPort.test_update_neutron_port [0.019795s] ... ok
{1} ironic.tests.unit.common.test_neutron.TestUpdateNeutronPort.test_update_neutron_port_with_client [0.019543s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_dump_sdr_ok [0.038281s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestUpdateNeutronPort.test_update_neutron_port_with_exception [0.019158s] ... ok
{1} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address [0.019869s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_force_boot_device_persistent [0.038519s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestUpdatePortAddress.test_update_port_address_show_failed [0.029752s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_power_state [0.039399s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestUpdatePortAddress.test_update_port_address_unbind_port_failed [0.021047s] ... ok
{1} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_with_binding [0.020370s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_power_state_exception [0.038938s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestUpdatePortAddress.test_update_port_address_with_exception [0.019656s] ... ok
{1} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_without_binding [0.020020s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_properties [0.037823s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestValidateNetwork.test_by_name [0.019600s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_force_set_boot_device_ok_bios [0.048314s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IPMIToolDriverTestCase.test_management_interface_get_boot_device [0.039173s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IPMIToolDriverTestCase.test_management_interface_get_boot_device_fail [0.039579s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IPMIToolDriverTestCase.test_management_interface_get_boot_device_persistent [0.042257s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestValidateNetwork.test_by_uuid [0.190583s] ... ok
{1} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_duplicate [0.020660s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_unknown_dev [0.070788s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestValidateNetwork.test_failure [0.021231s] ... ok
{1} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_not_found [0.024990s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_supported_boot_devices [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(
{1} ironic.tests.unit.common.test_nova.TestNovaAdapter.test_get_nova_adapter [0.022304s] ... ok
{1} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test__resolve_tag [0.022437s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_inject_nmi_fail [0.050963s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.OciClientRequestTestCase.test__resolve_tag_auth_needed [0.024675s] ... ok
{1} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test__resolve_tag_follows_links [0.020145s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_inject_nmi_ok [0.040576s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.OciClientRequestTestCase.test__resolve_tag_if_not_found [0.019593s] ... ok
{1} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test__resolve_tag_temp_failure [0.021642s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_no_force_set_boot_device_bios [0.042814s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.OciClientRequestTestCase.test_authenticate_401_bad_header [0.023875s] ... ok
{1} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test_authenticate_401_basic_auth [0.022466s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_bad_device [0.039550s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.OciClientRequestTestCase.test_authenticate_401_basic_auth_no_username [0.021030s] ... ok
{1} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test_authenticate_401_bearer_auth [0.020440s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_exec_failed [0.047895s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.OciClientRequestTestCase.test_authenticate_401_fallback_to_service_config [0.020915s] ... ok
{1} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test_authenticate_401_no_header [0.021336s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_ok_bios [0.041165s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.OciClientRequestTestCase.test_authenticate_noop [0.021156s] ... ok
{1} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test_download_blob_from_manifest [0.024992s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_persistent_bios [0.047789s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.OciClientRequestTestCase.test_download_blob_from_manifest_code_401 [0.024610s] ... ok
{1} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test_download_blob_from_manifest_code_403 [0.024941s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi [0.043078s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.OciClientRequestTestCase.test_download_blob_from_manifest_code_404 [0.024491s] ... ok
{1} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test_download_blob_from_manifest_code_500 [0.024857s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_onetime_smci [0.048874s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.OciClientRequestTestCase.test_download_blob_from_manifest_code_check [0.024084s] ... ok
{1} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test_get_artifact_index_access_denied [0.021242s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_persistent [0.042145s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.OciClientRequestTestCase.test_get_artifact_index_not_authorized [0.025312s] ... ok
{1} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test_get_artifact_index_not_found [0.020143s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_persistent_smci [0.049116s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.OciClientRequestTestCase.test_get_artifact_index_temporaryfailure [0.027587s] ... ok
{1} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test_get_artifact_index_with_tag [0.021614s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_unknown_exception [0.041917s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.OciClientRequestTestCase.test_get_manifest [0.019601s] ... ok
{1} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test_get_manifest_auth_required [0.018967s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_1_bios [0.040782s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.OciClientRequestTestCase.test_get_manifest_checksum_verifies [0.019744s] ... ok
{1} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test_get_manifest_image_access_denied [0.018559s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_1_uefi [0.041005s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.OciClientRequestTestCase.test_get_manifest_image_not_found [0.026257s] ... ok
{1} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test_get_manifest_image_temporary_failure [0.021190s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_2_bios [0.048369s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.iPXEBuildServicePXEConfigTestCase.test_build_service_pxe_config_adopt [0.039408s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_2_uefi [0.043101s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.iPXEBuildServicePXEConfigTestCase.test_build_service_pxe_config_servicing [0.039919s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_validate_fail [0.043504s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_release_mappings.GetObjectVersionsTestCase.test_get_object_versions [0.019776s] ... ok
{1} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_objects [0.018002s] ... ok
{1} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_releases [0.017470s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_validate_good [0.042098s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_releases_objects [0.017434s] ... ok
{1} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_context [0.017449s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_power_validate [0.041859s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_rpc.TestRequestContextSerializer.test_deserialize_entity [0.019364s] ... ok
{1} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity_empty_base [0.017781s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_already_off [0.043058s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_rpc.TestRequestContextSerializer.test_serialize_context [0.017825s] ... ok
{1} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity [0.018446s] ... ok
{1} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity_empty_base [0.017595s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_disable_power_off [0.043820s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_utils.BareMetalUtilsTestCase.test_create_link [0.019514s] ... ok
{1} ironic.tests.unit.common.test_utils.BareMetalUtilsTestCase.test_create_link_EEXIST [0.024140s] ... ok
{1} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_command_not_found [0.026142s] ... ok
{1} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale [0.027141s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_fail_power_off [0.098374s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables [0.021355s] ... ok
{1} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables [0.042218s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_fail_power_on [0.069574s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_utils.ExecuteTestCase.test_execute_with_log_stdout_default [0.035540s] ... ok
{1} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_with_log_stdout_false [0.024840s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_ok [0.061338s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_utils.ExecuteTestCase.test_execute_with_log_stdout_true [0.028313s] ... ok
{1} ironic.tests.unit.common.test_utils.GetRouteSourceTestCase.test_get_route_source_indexerror [0.023646s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_timeout_fail [0.052609s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_utils.GetRouteSourceTestCase.test_get_route_source_ipv4 [0.027954s] ... ok
{1} ironic.tests.unit.common.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6 [0.022502s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_timeout_ok [0.053135s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_utils.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal [0.024580s] ... ok
{1} ironic.tests.unit.common.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal_allowed [0.024078s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_fail [0.043766s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_utils.JinjaTemplatingTestCase.test_render_file [0.023853s] ... ok
{1} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_string [0.020262s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_from_clean_step [0.047861s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_utils.JinjaTemplatingTestCase.test_render_with_quotes [0.020890s] ... ok
{1} ironic.tests.unit.common.test_utils.MkfsTestCase.test_mkfs [0.019627s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_is_in_step_list [0.039563s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_utils.MkfsTestCase.test_mkfs_with_label [0.018335s] ... ok
{1} ironic.tests.unit.common.test_utils.MkfsTestCase.test_mkfs_with_unexpected_error [0.019270s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_ok [0.038782s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_utils.MkfsTestCase.test_mkfs_with_unsupported_fs [0.021578s] ... ok
{1} ironic.tests.unit.common.test_utils.UnlinkTestCase.test_unlink [0.022504s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_returns [0.039297s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_utils.UnlinkTestCase.test_unlink_ENOENT [0.032332s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_invalid_state [0.040422s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_wsgi_service.TestWSGIService.test_workers_set_correct_setting [0.047748s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_off_ok [0.050133s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_wsgi_service.TestWSGIService.test_workers_set_default [0.039636s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_off_timeout_ok [0.039915s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_wsgi_service.TestWSGIService.test_workers_set_default_limit [0.031661s] ... ok
{1} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_negative_setting [0.031040s] ... ok
{1} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_zero_setting [0.036251s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_fail [0.223811s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IPMIToolDriverTestCase.test_set_power_on_ok [0.043060s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_wsgi_service.TestWSGIService.test_wsgi_service_with_ssl_enabled [0.206524s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_timeout_fail [0.039817s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IPMIToolDriverTestCase.test_set_power_on_timeout_ok [0.041301s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IPMIToolDriverTestCase.test_set_power_on_with_next_boot [0.040268s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IPMIToolDriverTestCase.test_set_power_on_with_next_boot_timeout [0.040818s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IPMIToolDriverTestCase.test_set_soft_power_off_ok [0.049640s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IPMIToolDriverTestCase.test_set_soft_power_off_timeout_ok [0.044488s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_cleaning.DoNodeCleanTestChildNodes.test_do_next_clean_step_with_children [0.260019s] ... ok
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.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_ok [0.044745s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IPMIToolDriverTestCase.test_set_soft_reboot_timeout_fail [0.041614s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IPMIToolDriverTestCase.test_set_soft_reboot_timeout_ok [0.041330s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_cleaning.DoNodeCleanTestChildNodes.test_do_next_clean_step_with_children_by_uuid [0.121571s] ... ok
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.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_bmc_reset_cold [0.074843s] ... ok
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.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_db_error [0.102734s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_bmc_reset_warm [0.074448s] ... ok
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.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_send_raw_bytes [0.038818s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_swift_error [0.100133s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_send_raw_bytes_with_http_method [0.040186s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IPMIToolDriverTestCase.test_vendor_passthru_driver_routes [0.031755s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_cold_good [0.038127s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_unexpected_error [0.099364s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_good [0.038156s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_warm_good [0.038076s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IPMIToolDriverTestCase.test_vendor_passthru_validate__parse_driver_info_fail [0.038691s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_ironic_exception [0.120468s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_fail [0.039921s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IPMIToolDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_good [0.040518s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IPMIToolDriverTestCase.test_vendor_passthru_vendor_routes [0.033140s] ... ok
{1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_raises_error_old [0.110902s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__exec_stop_console [0.038338s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IPMIToolShellinaboxTestCase.test__get_ipmi_cmd [0.037614s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_raises_prepare_error [0.092744s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__get_ipmi_cmd_without_user [0.041801s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IPMIToolShellinaboxTestCase.test__start_console [0.044111s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IPMIToolShellinaboxTestCase.test__start_console_empty_password [0.049422s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_unexpected_exception [0.127089s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_fail [0.043597s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IPMIToolShellinaboxTestCase.test__start_console_fail_nodir [0.049457s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IPMIToolShellinaboxTestCase.test_console_validate [0.035197s] ... ok
{1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_fast_track [0.110537s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_invalid_port [0.035500s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_missing_port [0.038938s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_missing_port_auto_allocate [0.039109s] ... ok
{1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_ok [0.114283s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_wrong_ipmi_protocol_version [0.033265s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_get_console [0.040648s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_deployments.DoNodeDeployTestCase.test__do_node_deploy_ok_2 [0.105267s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_start_console [0.040439s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IPMIToolShellinaboxTestCase.test_start_console_alloc_port [0.052366s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_deployments.DoNodeDeployTestCase.test__do_node_deploy_ok_configdrive [0.098034s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_start_console_with_port [0.041662s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IPMIToolShellinaboxTestCase.test_stop_console [0.042278s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IPMIToolShellinaboxTestCase.test_stop_console_fail [0.039870s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_deployments.DoNodeDeployTestCase.test__do_node_deploy_unexpected_prepare_error [0.091050s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_instance [0.044284s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.iPXEBootTestCase.test_clean_up_ramdisk [0.048900s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_deployments.DoNodeDeployTestCase.test_do_node_deploy_steps [0.096266s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_deployments.DoNodeDeployTestCase.test_node_validation_in_disabled_bios_boot_mode_fails [0.038377s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.iPXEBootTestCase.test_clean_up_ramdisk_rescue [0.048863s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_deployments.DoNodeDeployTestCase.test_node_validation_in_disabled_uefi_boot_mode_fails [0.036858s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.iPXEBootTestCase.test_ensure_boot_interface_is_not_http_enabled [0.044145s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_get_properties [0.036124s] ... ok
{1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_start_deploy_lessee_legacy_false [0.081535s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance [0.049650s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.iPXEBootTestCase.test_prepare_instance_active [0.053687s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_deployments.DoNodeDeployTestCase.test_start_deploy_lessee_legacy_false_even_if_src_set [0.083038s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_iscsi [0.060946s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_deployments.DoNodeDeployTestCase.test_start_deploy_lessee_source_instance [0.083488s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_iscsi_bios [0.062915s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.iPXEBootTestCase.test_prepare_instance_netboot_ramdisk [0.061873s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_deployments.DoNodeDeployTestCase.test_start_deploy_lessee_source_none [0.088869s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_ramdisk [0.081737s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.iPXEBootTestCase.test_prepare_instance_ramdisk_bios [0.084799s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.iPXEBootTestCase.test_prepare_instance_ramdisk_with_kernel_arg [0.065543s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.iPXEBootTestCase.test_prepare_instance_with_fallback [0.065394s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_deployments.DoNodeDeployTestCase.test_start_deploy_lessee_source_request [0.325584s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk [0.077959s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_deployments.DoNodeDeployTestCase.test_start_deploy_source_path [0.089527s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_cleaning [0.082524s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_deployments.DoNodeDeployTestCase.test_start_deploy_source_path_none [0.089608s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_deployments.DoNodeDeployTestCase.test_update_fails_on_invalid_boot_mode [0.023928s] ... ok
{1} ironic.tests.unit.conductor.test_inspection.TestContinueInspection.test_failure [0.050857s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_inspection.TestContinueInspection.test_ok [0.049134s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_inspection.TestContinueInspection.test_ok_asynchronous [0.044464s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.iPXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.253490s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_inspection.TestInspectHardware.test_inspect_hardware_ok [0.048063s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_inspection.TestInspectHardware.test_inspect_hardware_raises_error [0.046169s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.iPXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.067368s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_inspection.TestInspectHardware.test_inspect_hardware_return_inspect_wait [0.044098s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.iPXEBootTestCase.test_prepare_ramdisk_ipxe_swift [0.070287s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_inspection.TestInspectHardware.test_inspect_hardware_return_inspecting [0.047798s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_inspection.TestInspectHardware.test_inspect_hardware_return_other_state [0.052295s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.iPXEBootTestCase.test_prepare_ramdisk_ipxe_swift_whole_disk_image [0.071384s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_inspection.TestInspectHardware.test_inspect_hardware_unexpected_error [0.050589s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.iPXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_file_different [0.080799s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_exception_getting_current [0.103888s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_no_file [0.089480s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_exception_in_background_task [0.097253s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_without_copy [0.091593s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_existing [0.081359s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_rescue [0.098558s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_node_already_locked [0.074052s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.073293s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_valid [0.087415s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.085429s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_validate_fail [0.075624s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.087366s] ... ok
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.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_worker_pool_full [0.094119s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_bios [0.090413s] ... ok
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.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_automated_clean [0.090794s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_uefi [0.084629s] ... ok
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.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_boot_timeout [0.090032s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_uefi [0.074468s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.iPXEBootTestCase.test_validate_fail_missing_deploy_kernel [0.044416s] ... ok
{1} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_manual_clean [0.089132s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_missing_deploy_ramdisk [0.045338s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_no_port [0.048593s] ... ok
{1} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_deploy_timeouts [0.097932s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_good [0.040420s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_good_whole_disk_image [0.040763s] ... ok
{1} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test_check_rescuewait_timeouts [0.096317s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_inspection [0.056657s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.iPXEBootTestCase.test_validate_inspection_no_inspection_ramdisk [0.050751s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.CheckTimeoutsTestCase.test_check_servicewait_timeouts [0.090434s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_no_image_source_for_local_boot [0.041284s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_skip_check_write_image_false [0.047903s] ... ok
{1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node [0.115831s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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(
{3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_with_boot_iso [0.049209s] ... ok
{3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_with_boot_iso_and_image_source [0.046998s] ... ok
{1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_adopt_failed_no_power_change [0.077165s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_pxe.HttpBootTestCase.test_http_boot_enabled [0.038554s] ... ok
{3} ironic.tests.unit.drivers.modules.test_pxe.HttpBootTestCase.test_prepare_ramdisk [0.072282s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.HttpBootTestCase.test_prepare_ramdisk_rescue [0.077007s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.HttpBootTestCase.test_prepare_ramdisk_uefi [0.070563s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_allowed_in_maintenance [0.255050s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_associated [0.078647s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_broken_driver [0.081533s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_http_boot_not_enabled [0.227870s] ... ok
{3} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue [0.042590s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_console_disable_fail [0.098027s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue_fails_no_rescue_kernel [0.046769s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.PXEValidateRescueTestCase.test_validate_rescue_no_rescue_ramdisk [0.049427s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_console_enabled [0.097932s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_off [0.024500s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_on [0.024662s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_reset [0.031008s] ... ok
{1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_invalid_provision_state [0.082499s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_state_off [0.024950s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_state_on [0.024534s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_snmp_objects [0.023142s] ... ok
{1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_power_off [0.079154s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_off [0.024333s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_on [0.023323s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_reset [0.023473s] ... ok
{1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_protected [0.076482s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_state_off [0.022187s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_state_on [0.023929s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_snmp_objects [0.026226s] ... ok
{1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_protected_provision_state_available [0.078448s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_off [0.025758s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_on [0.027201s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_reset [0.025092s] ... ok
{1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_reserved [0.082652s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_state_off [0.026100s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_state_on [0.023477s] ... ok
{1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_with_allocation [0.049066s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_off [0.023945s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_on [0.024929s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_reset [0.025530s] ... ok
{1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_inventory_in_swift_get_destroyed_after_destroying_a_node_by_uuid [0.081523s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_state_off [0.027873s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_state_on [0.024324s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_snmp_objects [0.023882s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_snmp_objects [0.028291s] ... ok
{1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_inventory_in_swift_not_destroyed_SwiftOSE_maintenance [0.086799s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_off [0.030195s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_on [0.028485s] ... ok
{1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_inventory_in_swift_not_destroyed_SwiftOSE_not_maintenance [0.083328s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_reset [0.027023s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_state_off [0.026407s] ... ok
{1} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port [0.044560s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_snmp.SNMPDeviceDriverTestCase.test_aten_power_state_on [0.025584s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_snmp_objects [0.023891s] ... ok
{1} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_and_maintenance_no_vif [0.043278s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_snmp.SNMPDeviceDriverTestCase.test_auto_power_off [0.033564s] ... ok
{1} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_and_maintenance_vif_present [0.044077s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_snmp.SNMPDeviceDriverTestCase.test_auto_power_on [0.028217s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_on_cached_driver [0.025631s] ... ok
{1} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_port_unbound [0.043160s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_snmp.SNMPDeviceDriverTestCase.test_auto_power_reset [0.031150s] ... ok
{1} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_state [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.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_off [0.026505s] ... ok
{1} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_locked [0.033560s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_on [0.026413s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_pdu_discovery_failure [0.025006s] ... ok
{1} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_with_instance_not_in_active_port_bound [0.041434s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_unknown_pdu [0.023889s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_off [0.024558s] ... ok
{1} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_with_instance_not_in_active_port_unbound [0.052329s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_on [0.023737s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_reset [0.030119s] ... ok
{1} ironic.tests.unit.conductor.test_manager.DestroyPortgroupTestCase.test_destroy_portgroup [0.052129s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_snmp_objects [0.023221s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_state_off [0.023145s] ... ok
{1} ironic.tests.unit.conductor.test_manager.DestroyPortgroupTestCase.test_destroy_portgroup_node_locked [0.035861s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_state_on [0.029774s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_off [0.025809s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_on [0.024264s] ... ok
{1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_boot_validate_failure [0.086698s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_reset [0.023700s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_state_off [0.028277s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_state_on [0.024407s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_snmp_objects [0.021801s] ... ok
{1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_ramdisk_deploy [0.098422s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_off [0.022721s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_on [0.022220s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_reset [0.034195s] ... ok
{1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_take_over_failure [0.091983s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_off [0.025802s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_on [0.022424s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_pending_off [0.026666s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_pending_on [0.023918s] ... ok
{1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_with_takeover [0.093128s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_snmp_objects [0.023614s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off [0.037862s] ... ok
{1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_adopt_node [0.084917s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.DoNodeAdoptionTestCase.test_do_provisioning_action_adopt_node_retry [0.085740s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.DoNodeAdoptionTestCase.test_do_provisioning_action_manage_of_failed_adoption [0.085578s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.DoProvisioningActionTestCase.test_do_provision_action_abort_automated_clean [0.080877s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.DoProvisioningActionTestCase.test_do_provision_action_abort_clean_step_not_abortable [0.090182s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.DoProvisioningActionTestCase.test_do_provision_action_abort_cleanhold_automated_clean [0.079528s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.DoProvisioningActionTestCase.test_do_provision_action_abort_cleanhold_manual_clean [0.079950s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.DoProvisioningActionTestCase.test_do_provision_action_abort_from_deployhold [0.086865s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.DoProvisioningActionTestCase.test_do_provision_action_abort_manual_clean [0.077230s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.DoProvisioningActionTestCase.test_do_provision_action_manage [0.249714s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_delay [1.027334s] ... ok
{1} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_provide [0.082141s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.DoProvisioningActionTestCase.test_do_provision_action_provide_in_maintenance [0.105357s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.DoProvisioningActionTestCase.test_do_provisioning_action_worker_pool_full [0.122017s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.HeartbeatTestCase.test_heartbeat_invalid_agent_token [0.119342s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.conductor.test_manager.HeartbeatTestCase.test_heartbeat_invalid_agent_token_older_version [0.121178s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.conductor.test_manager.HeartbeatTestCase.test_heartbeat_invalid_newer_version [0.092818s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.conductor.test_manager.HeartbeatTestCase.test_heartbeat_tls_required [0.085174s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.conductor.test_manager.HeartbeatTestCase.test_heartbeat_with_agent_token [0.090343s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.conductor.test_manager.HeartbeatTestCase.test_heartbeat_with_agent_verify_ca [0.085159s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.conductor.test_manager.HeartbeatTestCase.test_heartbeat_with_agent_version [0.088424s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.conductor.test_manager.HeartbeatTestCase.test_heartbeat_with_no_required_agent_token [0.081821s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.conductor.test_manager.HeartbeatTestCase.test_heartbeat_with_required_agent_token [0.088795s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.conductor.test_manager.HeartbeatTestCase.test_heartbeat_without_agent_version_anaconda [0.084412s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.conductor.test_manager.HeartbeatTestCase.test_heartbeat_without_version [0.082894s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.conductor.test_manager.IndicatorsTestCase.test_get_indicator_state [0.059427s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IndicatorsTestCase.test_get_supported_indicators [0.033270s] ... ok
{1} ironic.tests.unit.conductor.test_manager.IndicatorsTestCase.test_set_indicator_state [0.044015s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeout [0.025616s] ... ok
{1} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_acquire_node_disappears [0.023925s] ... ok
{1} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_acquire_node_locked [0.024005s] ... ok
{1} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_exit_with_other_exception [0.023909s] ... ok
{1} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_exiting_no_worker_avail [0.023921s] ... ok
{1} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_no_acquire_after_lock [0.023567s] ... ok
{1} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_not_mapped [0.022669s] ... ok
{1} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_to_maintenance_after_lock [0.023121s] ... ok
{1} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_worker_limit [0.023960s] ... ok
{1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test__sync_power_state_multiple_nodes [0.039766s] ... ok
{1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_disappears_on_acquire [0.025921s] ... ok
{1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_deploywait_on_acquire [0.033763s] ... ok
{1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_enroll_on_acquire [0.031278s] ... ok
{1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_maintenance_on_acquire [0.026247s] ... ok
{1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_power_transition_on_acquire [0.024434s] ... ok
{1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_locked_on_acquire [0.024855s] ... ok
{1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_not_mapped [0.197646s] ... ok
{1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_single_node [0.024735s] ... ok
{1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_single_node_adopt_failed [0.023538s] ... ok
{1} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_1_nodes_8_workers [0.022917s] ... ok
{1} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_6_nodes_8_workers [0.022114s] ... ok
{1} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_9_nodes_1_worker [0.022471s] ... ok
{1} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_9_nodes_8_workers [0.025255s] ... ok
{1} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_node_prioritization [0.035952s] ... ok
{1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port [0.047161s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.UpdatePortTestCase.test_update_port_address_active_node [0.043642s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.UpdatePortTestCase.test_update_port_address_maintenance [0.045778s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.UpdatePortTestCase.test_update_port_node_active_state_and_maintenance [0.049011s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.UpdatePortTestCase.test_update_port_node_deleting_state [0.043105s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.UpdatePortTestCase.test_update_port_node_locked [0.032522s] ... ok
{1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_manageable_state [0.048299s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.UpdatePortTestCase.test_update_port_physnet_maintenance [0.046818s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.UpdatePortTestCase.test_update_port_physnet_node_deleting_state [0.042381s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.UpdatePortTestCase.test_update_port_physnet_validation_failure_conflict [0.048822s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.UpdatePortTestCase.test_update_port_physnet_validation_failure_inconsistent [0.041183s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.UpdatePortTestCase.test_update_port_port_changed_failure [0.045840s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.UpdatePortTestCase.test_update_port_portgroup_active_node [0.057627s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.UpdatePortTestCase.test_update_port_portgroup_enroll_node [0.061157s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.UpdatePortTestCase.test_update_port_to_node_in_inspect_wait_state [0.056179s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.VifTestCase.test_vif_attach [0.039655s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.VifTestCase.test_vif_attach_node_locked [0.031073s] ... ok
{1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_network_error [0.037470s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.VifTestCase.test_vif_attach_raises_portgroup_physnet_inconsistent [0.039066s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.VifTestCase.test_vif_attach_raises_vif_invalid_for_attach [0.040003s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.VifTestCase.test_vif_attach_validate_error [0.038498s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.VifTestCase.test_vif_detach [0.039114s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.VifTestCase.test_vif_detach_node_locked [0.031092s] ... ok
{1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_raises_network_error [0.038120s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.VifTestCase.test_vif_detach_validate_error [0.041002s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.VifTestCase.test_vif_list [0.033057s] ... ok
{1} ironic.tests.unit.conductor.test_manager.VirtualMediaTestCase.test_attach_virtual_media_http [0.049403s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.VirtualMediaTestCase.test_attach_virtual_media_local [0.051116s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.VirtualMediaTestCase.test_do_attach_virtual_media [0.045007s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.VirtualMediaTestCase.test_do_attach_virtual_media_fails_on_attach [0.050005s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.VirtualMediaTestCase.test_do_attach_virtual_media_fails_on_prepare [0.047514s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_periodics.NodePeriodicTestCase.test_exclusive [0.038750s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_periodics.NodePeriodicTestCase.test_interface_check [0.038432s] ... ok
{1} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_limit [0.027232s] ... ok
{1} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_never_run [0.025460s] ... ok
{1} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_simple [2.050406s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_periodics.NodePeriodicTestCase.test_stop [0.040009s] ... ok
{1} ironic.tests.unit.conductor.test_rpc_service.TestRPCService.test_drain_has_reserved [0.024794s] ... ok
{1} ironic.tests.unit.conductor.test_rpc_service.TestRPCService.test_shutdown_timeout_reached [0.022048s] ... ok
{1} ironic.tests.unit.conductor.test_rpc_service.TestRPCService.test_start [0.030979s] ... ok
{1} ironic.tests.unit.conductor.test_rpc_service.TestRPCService.test_start_failure [0.200643s] ... ok
{1} ironic.tests.unit.conductor.test_rpc_service.TestRPCService.test_start_no_rpc [0.031590s] ... ok
{1} ironic.tests.unit.conductor.test_rpc_service.TestRPCService.test_stop_after_full_reset_interval [0.024691s] ... ok
{1} ironic.tests.unit.conductor.test_rpc_service.TestRPCService.test_stop_after_remaining_interval [0.025341s] ... ok
{1} ironic.tests.unit.conductor.test_rpc_service.TestRPCService.test_stop_has_reserved [0.023468s] ... ok
{1} ironic.tests.unit.conductor.test_rpc_service.TestRPCService.test_stop_instant [0.023364s] ... ok
{1} ironic.tests.unit.conductor.test_rpc_service.TestRPCService.test_stop_slow [0.023114s] ... ok
{1} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_version_cap [0.018682s] ... ok
{1} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_version_capped [0.019022s] ... ok
{1} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_versions_in_sync [0.019288s] ... ok
{1} ironic.tests.unit.conductor.test_servicing.DoNodeServiceAbortTestCase.test__do_node_cleanhold_abort_tear_down_fail [0.045032s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.DoNodeServiceAbortTestCase.test__do_node_service_abort_tear_down_fail [0.048846s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.DoNodeServiceAbortTestCase.test_do_node_service_abort_early [0.050961s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.DoNodeServiceAbortTestCase.test_do_node_service_abort_with_step [0.046056s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodeServiceStepsTestCase.test__get_service_steps [0.039756s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodeServiceStepsTestCase.test_set_node_service_steps [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(
{1} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_excl_lock_task_first_arg [0.018660s] ... ok
{1} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_excl_lock_task_second_arg [0.018523s] ... ok
{1} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_shared_lock_task_first_arg [0.018611s] ... ok
{1} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_shared_lock_task_second_arg [0.018625s] ... ok
{1} ironic.tests.unit.conductor.test_utils.AgentTokenUtilsTestCase.test_add_secret_token [0.022782s] ... ok
{1} ironic.tests.unit.conductor.test_utils.AgentTokenUtilsTestCase.test_is_agent_token_present [0.018223s] ... ok
{1} ironic.tests.unit.conductor.test_utils.AgentTokenUtilsTestCase.test_wipe_deploy_internal_info [0.020807s] ... ok
{1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_exclude_current_conductor [0.028413s] ... ok
{1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_notify_conductor_resume_clean [0.037946s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.MiscTestCase.test_notify_conductor_resume_deploy [0.042274s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.MiscTestCase.test_notify_conductor_resume_operation [0.038354s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.MiscTestCase.test_power_on_node_if_needed_false_no_need [0.040003s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.MiscTestCase.test_power_on_node_if_needed_false_power_on [0.040013s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.MiscTestCase.test_power_on_node_if_needed_true [0.041937s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.MiscTestCase.test_power_on_node_if_needed_with_smart_nic_port [0.042062s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.MiscTestCase.test_remove_node_rescue_password_save_false [0.027775s] ... ok
{1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_remove_node_rescue_password_save_true [0.032932s] ... ok
{1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_restore_power_state_if_needed_false [0.039112s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.MiscTestCase.test_restore_power_state_if_needed_true [0.039356s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodePowerActionTestCase.test__calculate_target_state [0.022339s] ... ok
{1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_db_not_in_sync [0.044992s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodePowerActionTestCase.test__can_skip_state_change_different_state [0.036855s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodePowerActionTestCase.test__can_skip_state_change_failed_getting_state_notify [0.068773s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodePowerActionTestCase.test__can_skip_state_change_same_state [0.050744s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodePowerActionTestCase.test_node_power_action_already_being_processed [0.053420s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodePowerActionTestCase.test_node_power_action_disable_power_off [0.041826s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodePowerActionTestCase.test_node_power_action_failed_getting_state [0.046212s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodePowerActionTestCase.test_node_power_action_failed_getting_state_notify [0.069258s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodePowerActionTestCase.test_node_power_action_in_same_state [0.053641s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodePowerActionTestCase.test_node_power_action_in_same_state_db_not_in_sync [0.051157s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodePowerActionTestCase.test_node_power_action_invalid_state [0.068366s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodePowerActionTestCase.test_node_power_action_invalid_state_notify [0.074243s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodePowerActionTestCase.test_node_power_action_keep_last_error [0.262033s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodePowerActionTestCase.test_node_power_action_power_off [0.050565s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodePowerActionTestCase.test_node_power_action_power_off_already [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(
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_invalid_state [9.048899s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_snmp_get_failure [0.024612s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_snmp_set_failure [0.023694s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_timeout [0.024049s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on [0.023581s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_delay [1.026577s] ... ok
{1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_exception_if_child_locked [2.090420s] ... ok
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.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_parent [0.123169s] ... ok
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.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_parent_child_remains [0.059920s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodePowerActionTestCase.test_node_power_action_power_off_pregenerated_token [0.049848s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodePowerActionTestCase.test_node_power_action_power_off_storage_detach [0.055073s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodePowerActionTestCase.test_node_power_action_power_on [0.059110s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodePowerActionTestCase.test_node_power_action_power_on_exception_if_parent_locked [2.087110s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodePowerActionTestCase.test_node_power_action_power_on_notify [0.089612s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodePowerActionTestCase.test_node_power_action_power_on_parent_off [0.056753s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodePowerActionTestCase.test_node_power_action_power_on_storage_attach [0.049515s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodePowerActionTestCase.test_node_power_action_power_on_with_parent [0.072479s] ... ok
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.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_reboot [0.053010s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodePowerActionTestCase.test_node_power_action_power_reboot_with_disable_power_off [0.051826s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodePowerActionTestCase.test_node_power_action_reboot_no_timeout [0.050863s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodePowerActionTestCase.test_node_power_action_reboot_storage_attach [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(
{1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_set_power_failure [0.054797s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.NodePowerActionTestCase.test_node_power_action_set_power_failure_notify [0.074833s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_verify.DoNodeVerifyTestCase.test__do_node_cache_bios [0.055683s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_verify.DoNodeVerifyTestCase.test__do_node_cache_bios_exception [0.052084s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_verify.DoNodeVerifyTestCase.test__do_node_cache_bios_unsupported [0.057140s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_verify.DoNodeVerifyTestCase.test__do_node_verify [0.111464s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_verify.DoNodeVerifyTestCase.test__do_node_verify_get_state_fails [0.085327s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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_verify.DoNodeVerifyTestCase.test__do_node_verify_validation_fails [0.092043s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /builddir/build/BUILD/ironic-29.1.0.dev140/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor.
  self._executor = futurist.GreenThreadPoolExecutor(
/usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using 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.console.rfb.test_auth.RFBAuthSchemeListTestCase.test_find_scheme_fail [0.020490s] ... ok
{1} ironic.tests.unit.console.rfb.test_auth.RFBAuthSchemeListTestCase.test_find_scheme_ok [0.018787s] ... ok
{1} ironic.tests.unit.console.rfb.test_auth.RFBAuthSchemeListTestCase.test_find_scheme_priority [0.019156s] ... ok
{1} ironic.tests.unit.console.rfb.test_auth.RFBAuthSchemeListTestCase.test_load_ok [0.018624s] ... ok
{1} ironic.tests.unit.console.rfb.test_auth.RFBAuthSchemeListTestCase.test_load_unknown [0.018074s] ... ok
{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.test_deploy_templates.DbDeployTemplateTestCase.test_create [0.023624s] ... ok
{1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_duplicate_name [0.024212s] ... ok
{1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_duplicate_uuid [0.024175s] ... ok
{1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_invalid_step_no_interface [0.024912s] ... ok
{1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_no_steps [0.025220s] ... ok
{1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_destroy [0.026673s] ... ok
{1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_id [0.026368s] ... ok
{1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_name [0.026174s] ... ok
{1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_uuid [0.025682s] ... ok
{1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list [0.027434s] ... ok
{1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_by_names [0.027569s] ... ok
{1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_by_names_no_match [0.025814s] ... ok
{1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_sorted [0.030524s] ... ok
{1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_duplicate_name [0.028025s] ... ok
{1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_extra [0.027374s] ... ok
{1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_name [0.214654s] ... ok
{1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_not_found [0.034880s] ... ok
{1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_add [0.041202s] ... ok
{1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_remove_all [0.033252s] ... ok
{1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_replace [0.027810s] ... ok
{1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_replace_args [0.029901s] ... ok
{1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_uuid_not_allowed [0.023529s] ... ok
{1} ironic.tests.unit.db.test_firmware_component.DbFirmwareComponentTestCase.test_create_firmware_component [0.025060s] ... ok
{1} ironic.tests.unit.db.test_firmware_component.DbFirmwareComponentTestCase.test_create_firmware_component_duplicate [0.024749s] ... ok
{1} ironic.tests.unit.db.test_firmware_component.DbFirmwareComponentTestCase.test_delete_firmware_component_list [0.034858s] ... ok
{1} ironic.tests.unit.db.test_firmware_component.DbFirmwareComponentTestCase.test_get_firmware_component [0.027440s] ... ok
{1} ironic.tests.unit.db.test_firmware_component.DbFirmwareComponentTestCase.test_get_firmware_component_list [0.026769s] ... ok
{1} ironic.tests.unit.db.test_firmware_component.DbFirmwareComponentTestCase.test_get_firmware_component_list_node_not_exist [0.023526s] ... ok
{1} ironic.tests.unit.db.test_firmware_component.DbFirmwareComponentTestCase.test_get_firmware_component_node_not_exist [0.024031s] ... ok
{1} ironic.tests.unit.db.test_firmware_component.DbFirmwareComponentTestCase.test_get_firmware_component_setting_not_exist [0.028578s] ... ok
{1} ironic.tests.unit.db.test_firmware_component.DbFirmwareComponentTestCase.test_update_firmware_component_not_exist [0.029450s] ... ok
{1} ironic.tests.unit.db.test_firmware_component.DbFirmwareComponentTestCase.test_update_firmware_components [0.034849s] ... ok
{1} ironic.tests.unit.db.test_node_inventory.DBNodeInventoryTestCase.test_destroy_node_inventory_by_node_id [0.029248s] ... ok
{1} ironic.tests.unit.db.test_node_inventory.DBNodeInventoryTestCase.test_get_inventory_by_node_id [0.029633s] ... ok
{1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait [0.032200s] ... ok
{1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_at_limit [0.213547s] ... ok
{1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_duplicate [0.036247s] ... ok
{1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_duplicate_at_limit [0.203440s] ... ok
{1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_node_not_exist [0.033098s] ... ok
{1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_over_limit [0.206008s] ... ok
{1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait [0.036667s] ... ok
{1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait_node_not_found [0.025387s] ... ok
{1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait_not_found [0.026620s] ... ok
{1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_by_node_id [0.033226s] ... ok
{1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_empty [0.026083s] ... ok
{1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_node_not_exist [0.025685s] ... ok
{1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_exists [0.033511s] ... ok
{1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_node_not_exist [0.025761s] ... ok
{1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_not_exists [0.027515s] ... ok
{1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits [0.030337s] ... ok
{1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_at_limit [0.031112s] ... ok
{1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_duplicate [0.030288s] ... ok
{1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_node_not_exist [0.025025s] ... ok
{1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_over_limit [0.027867s] ... ok
{1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_empty_node_traits [0.028295s] ... ok
{1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_node_traits [0.038280s] ... ok
{1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_node_traits_node_not_exist [0.025289s] ... ok
{1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_create [0.025256s] ... ok
{1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_create_duplicate_name [0.024604s] ... ok
{1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_create_duplicate_uuid [0.023080s] ... ok
{1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_create_invalid_step_no_interface [0.024643s] ... ok
{1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_create_no_steps [0.024107s] ... ok
{1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_destroy [0.026487s] ... ok
{1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_get_runbook_by_id [0.025051s] ... ok
{1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_get_runbook_by_name [0.025347s] ... ok
{1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_get_runbook_by_uuid [0.025503s] ... ok
{1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_get_runbook_list [0.030897s] ... ok
{1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_get_runbook_list_by_names [0.028512s] ... ok
{1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_get_runbook_list_by_names_no_match [0.026642s] ... ok
{1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_get_runbook_list_sorted [0.028514s] ... ok
{1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_update_duplicate_name [0.029296s] ... ok
{1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_update_extra [0.204410s] ... ok
{1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_update_name [0.030594s] ... ok
{1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_update_not_found [0.023940s] ... ok
{1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_update_steps_add [0.027247s] ... ok
{1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_update_steps_remove_all [0.027360s] ... ok
{1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_update_steps_replace [0.027239s] ... ok
{1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_update_steps_replace_args [0.028100s] ... ok
{1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_update_uuid_not_allowed [0.023605s] ... ok
{1} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_default_dhcp [0.018513s] ... ok
{1} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_dhcp_some_error [0.028473s] ... ok
{1} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_only_one_dhcp [0.019296s] ... ok
{1} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_bad_dhcp [0.018773s] ... ok
{1} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_neutron_dhcp [0.019135s] ... ok
{1} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_none_dhcp [0.018014s] ... ok
{1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__calculate_memory_req [0.038414s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestAnsibleMethods.test__get_clean_steps [0.039912s] ... ok
{1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_configdrive_path [0.024189s] ... ok
{1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_node_ip [0.041416s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestAnsibleMethods.test__get_python_interpreter [0.023807s] ... ok
{1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info [0.023929s] ... ok
{1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info_defaults [0.023032s] ... ok
{1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info_no_playbook [0.023705s] ... ok
{1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_partitioning_info_all_gpt [0.028767s] ... ok
{1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_partitioning_info_root_msdos [0.024002s] ... ok
{1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints [0.042765s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestAnsibleMethods.test__parse_root_device_hints_fail_advanced [0.043033s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestAnsibleMethods.test__parse_root_device_hints_iinfo [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(
{1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_override [0.042406s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestAnsibleMethods.test__prepare_extra_vars [0.024099s] ... ok
{1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables [0.042257s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestAnsibleMethods.test__prepare_variables_configdrive_file [0.045971s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestAnsibleMethods.test__prepare_variables_configdrive_json [0.045261s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestAnsibleMethods.test__prepare_variables_configdrive_url [0.040937s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestAnsibleMethods.test__prepare_variables_insecure_activated [0.041628s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestAnsibleMethods.test__prepare_variables_root_device_hints [0.042243s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestAnsibleMethods.test__run_playbook [0.027102s] ... ok
{1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_ansible_interpreter_override [0.025135s] ... ok
{1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_ansible_interpreter_python3 [0.025466s] ... ok
{1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_default_verbosity_debug [0.025291s] ... ok
{1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_default_verbosity_nodebug [0.024776s] ... ok
{1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_fail [0.024548s] ... ok
{1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps [0.025448s] ... ok
{1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps_missing [0.025110s] ... ok
{1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps_names_not_unique [0.023980s] ... ok
{1} ironic.tests.unit.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method [0.040771s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method_managers_fail [0.040054s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method_no_managers [0.041196s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method_oem_not_found [0.040782s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloUefiHttpsBootTestCase.test__parse_deploy_info [0.050677s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloUefiHttpsBootTestCase.test__parse_driver_info_default_mode [0.048201s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloUefiHttpsBootTestCase.test__parse_driver_info_invalid_params [0.047731s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloUefiHttpsBootTestCase.test__parse_driver_info_rescue_mode [0.048630s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloUefiHttpsBootTestCase.test__validate_hrefs_http_image [0.042401s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloUefiHttpsBootTestCase.test__validate_hrefs_https_image [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.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_instance_image_info [0.046725s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloUefiHttpsBootTestCase.test_clean_up_instance [0.044269s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloUefiHttpsBootTestCase.test_clean_up_ramdisk [0.042298s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloUefiHttpsBootTestCase.test_prepare_instance_boot_ramdisk [0.056617s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_snmp.SNMPDeviceDriverTestCase.test_power_on_invalid_state [9.051662s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_snmp_get_failure [0.047570s] ... ok
{1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_local_or_whole_disk_image [0.235921s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_snmp.SNMPDeviceDriverTestCase.test_power_on_snmp_set_failure [0.035982s] ... ok
{1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_partition_image [0.048078s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloUefiHttpsBootTestCase.test_prepare_ramdisk_glance_image [0.071212s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloUefiHttpsBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.064799s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloUefiHttpsBootTestCase.test_prepare_ramdisk_middle_of_clean_step [0.070522s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloUefiHttpsBootTestCase.test_prepare_ramdisk_not_a_glance_image [0.061505s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloUefiHttpsBootTestCase.test_prepare_ramdisk_not_a_glance_image_cleaning [0.058467s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloUefiHttpsBootTestCase.test_prepare_ramdisk_rescue_glance_image [0.064733s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloUefiHttpsBootTestCase.test_prepare_ramdisk_rescue_not_a_glance_image [0.060800s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloUefiHttpsBootTestCase.test_validate [0.046151s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloUefiHttpsBootTestCase.test_validate_bios [0.041597s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloUefiHttpsBootTestCase.test_validate_inspection [0.035122s] ... ok
{1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_inspection_missing [0.031926s] ... ok
{1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_ramdisk_deploy_glance [0.046294s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloUefiHttpsBootTestCase.test_validate_ramdisk_deploy_webserver [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(
{1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_ramdisk_deploy_webserver_exc [0.047516s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloUefiHttpsBootTestCase.test_validate_rescue [0.043025s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloUefiHttpsBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.043850s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloiPXEBootTestCase.test_clean_up_instance [0.042029s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloiPXEBootTestCase.test_clean_up_instance_boot_from_volume [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(
{1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.043792s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloiPXEBootTestCase.test_prepare_instance [0.041807s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloiPXEBootTestCase.test_prepare_instance_anaconda_cleaning [0.043200s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloiPXEBootTestCase.test_prepare_instance_anaconda_deploying [0.045073s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloiPXEBootTestCase.test_prepare_instance_anaconda_rescuing [0.044029s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloiPXEBootTestCase.test_prepare_instance_bios [0.041994s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloiPXEBootTestCase.test_prepare_instance_boot_from_volume [0.048266s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloiPXEBootTestCase.test_prepare_ramdisk_in_cleaning [0.045731s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloiPXEBootTestCase.test_prepare_ramdisk_in_deploying [0.045868s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IloiPXEBootTestCase.test_prepare_ramdisk_in_rescuing [0.045666s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_power.IloPowerInternalMethodsTestCase.test__attach_boot_iso_if_needed [0.035987s] ... ok
{1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__attach_boot_iso_if_needed_on_rebuild [0.036507s] ... ok
{1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state [0.026502s] ... ok
{1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state_fail [0.026524s] ... ok
{1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state_ilo6_redirect [0.027851s] ... ok
{1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_invalid_state [0.034190s] ... ok
{1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_off_fail [2.040490s] ... ok
{1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_on_ok [1.067623s] ... ok
{1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_reboot_fail [0.059598s] ... ok
{1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_reboot_ok [1.045334s] ... ok
{1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_fail [0.041943s] ... ok
{1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_ok [2.043820s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_timeout [9.040799s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset [0.233221s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_delay_option [0.026990s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_delay [1.028090s] ... ok
{1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_timeout [3.053985s] ... ok
{1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_fail_to_off [0.075908s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_delay_on_delay [2.036673s] ... ok
{1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_fail_to_on [4.262975s] ... ok
{1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok [2.052627s] ... ok
{1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok_initial_power_off [1.044025s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_invalid_state [9.044087s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_snmp_get_failure [0.023136s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_snmp_set_failure [0.026474s] ... ok
{1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_timeout [3.084959s] ... ok
{1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_power_state [0.056049s] ... ok
{1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_properties [0.032227s] ... ok
{1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_supported_power_states [0.041215s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_power.IloPowerTestCase.test_reboot_no_timeout [0.043966s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_power.IloPowerTestCase.test_reboot_with_timeout [0.042359s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_power.IloPowerTestCase.test_set_power_state_no_timeout [0.044017s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_power.IloPowerTestCase.test_set_power_state_timeout [0.039415s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_power.IloPowerTestCase.test_validate [0.032666s] ... ok
{1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_validate_fail [0.035263s] ... ok
{1} ironic.tests.unit.drivers.modules.inspector.hooks.test_boot_mode.BootModeTestCase.test_boot_mode [0.058346s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_cpu_capabilities.CPUCapabilitiesTestCase.test_cpu_capabilities [0.045187s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_parse_lldp.ParseLLDPTestCase.test_all_valid_data [0.087766s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_parse_lldp.ParseLLDPTestCase.test_bad_value_linkagg [0.078935s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_parse_lldp.ParseLLDPTestCase.test_bad_value_macphy [0.090919s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_parse_lldp.ParseLLDPTestCase.test_chassis_ids [0.065144s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_parse_lldp.ParseLLDPTestCase.test_duplicate_tlvs [0.063205s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_parse_lldp.ParseLLDPTestCase.test_invalid_ip [0.086331s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_parse_lldp.ParseLLDPTestCase.test_multiple_interfaces [0.072503s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_parse_lldp.ParseLLDPTestCase.test_null_strings [0.046830s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_parse_lldp.ParseLLDPTestCase.test_old_format [0.096105s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_parse_lldp.ParseLLDPTestCase.test_truncated_int [0.052822s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_parse_lldp.ParseLLDPTestCase.test_truncated_mac [0.052443s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_parse_lldp.ParseLLDPTestCase.test_unhandled_oui [0.050694s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_parse_lldp.ParseLLDPTestCase.test_unhandled_tlvs [0.043696s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_pci_devices.PciDevicesTestCase.test_pci_devices [0.063628s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_physical_network.PhysicalNetworkTestCase.test_physical_network [0.065629s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_root_device.RootDeviceTestCase.test_all_match [0.054193s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_root_device.RootDeviceTestCase.test_first_match_on_skip_list_use_second [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(
{1} ironic.tests.unit.drivers.modules.inspector.hooks.test_root_device.RootDeviceTestCase.test_incorrect_hint [0.063019s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_root_device.RootDeviceTestCase.test_local_gb_without_spacing [0.050628s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_root_device.RootDeviceTestCase.test_no_hints [0.046770s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_root_device.RootDeviceTestCase.test_one_matches [0.048623s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_root_device.RootDeviceTestCase.test_root_device_skip_list [0.047551s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_root_device.RootDeviceTestCase.test_size_invalid [0.040948s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_root_device.RootDeviceTestCase.test_size_string [0.060783s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_root_device.RootDeviceTestCase.test_zero_size [0.062765s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.ContinueInspectionTestCase.test [0.043110s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.ContinueInspectionTestCase.test_store_logs [0.043836s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.029580s] ... ok
{1} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_not_check_inspecting [0.026351s] ... ok
{1} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_not_finished [0.025184s] ... ok
{1} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_not_inspecting [0.024468s] ... ok
{1} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_not_inspector [0.196496s] ... ok
{1} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_status_clean_up_failed [0.037900s] ... ok
{1} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_status_error [0.029041s] ... ok
{1} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_status_error_dont_store_inventory [0.027898s] ... ok
{1} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_status_ok [0.033308s] ... ok
{1} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_status_ok_store_inventory [0.029801s] ... ok
{1} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_status_ok_store_inventory_nostore [0.029380s] ... ok
{1} ironic.tests.unit.drivers.modules.inspector.test_interface.TearDownManagedInspectionTestCase.test_boot_clean_up_failed [0.049091s] ... ok
{1} ironic.tests.unit.drivers.modules.inspector.test_interface.TearDownManagedInspectionTestCase.test_managed [0.047307s] ... ok
{1} ironic.tests.unit.drivers.modules.inspector.test_interface.TearDownManagedInspectionTestCase.test_managed_disable_power_off [0.042824s] ... ok
{1} ironic.tests.unit.drivers.modules.inspector.test_interface.TearDownManagedInspectionTestCase.test_managed_no_power_off [0.032009s] ... ok
{1} ironic.tests.unit.drivers.modules.inspector.test_interface.TearDownManagedInspectionTestCase.test_managed_no_power_off_on_fast_track [0.039262s] ... ok
{1} ironic.tests.unit.drivers.modules.inspector.test_interface.TearDownManagedInspectionTestCase.test_network_clean_up_failed [0.042715s] ... ok
{1} ironic.tests.unit.drivers.modules.inspector.test_interface.TearDownManagedInspectionTestCase.test_unmanaged [0.025994s] ... ok
{1} ironic.tests.unit.drivers.modules.inspector.test_interface.TearDownManagedInspectionTestCase.test_unmanaged_force_power_off [0.054152s] ... ok
{1} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect [0.051100s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_empty [0.047417s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_error [0.069817s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_invalid_input [0.064653s] ... ok
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.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_more_socket [0.049710s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.IRMCRaidConfigurationTestCase.test_create_raid_with_raid_1_and_0 [0.060150s] ... ok
{1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_create_raid_with_raid_5_and_0 [0.040467s] ... ok
{1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_delete_raid_configuration [0.047159s] ... ok
{1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_delete_raid_configuration_return_cleared_raid_config [0.045877s] ... ok
{1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_fail_create_raid_without_target_raid_config [0.032408s] ... ok
{1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_all_physnets [0.121611s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestCommonFunctions.test__get_free_portgroups_and_ports_flat [0.065295s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestCommonFunctions.test__get_free_portgroups_and_ports_neutron [0.059778s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestCommonFunctions.test__get_free_portgroups_and_ports_neutron_missed [0.063331s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestCommonFunctions.test__get_free_portgroups_and_ports_no_matching_physnet [0.121521s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestCommonFunctions.test__get_free_portgroups_and_ports_no_matching_uuid [0.083405s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestCommonFunctions.test__get_free_portgroups_and_ports_no_physnets [0.114357s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestCommonFunctions.test__get_free_portgroups_and_ports_no_port_physnets [0.106061s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet1 [0.105885s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet2 [0.123565s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet3 [0.111732s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestCommonFunctions.test__get_free_portgroups_and_ports_port_uuid [0.089848s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestCommonFunctions.test__get_free_portgroups_and_ports_portgroup_uuid [0.117884s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestCommonFunctions.test__get_free_portgroups_and_ports_portgroup_uuid_attached_vifs [0.110838s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestCommonFunctions.test_get_free_port_like_object_ignores_empty_portgroup [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.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ignores_standalone_portgroup [0.067496s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestCommonFunctions.test_get_free_port_like_object_no_matching_physnets [0.054005s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestCommonFunctions.test_get_free_port_like_object_nothing_free [0.053289s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestCommonFunctions.test_get_free_port_like_object_portgroup_first [0.057015s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestCommonFunctions.test_get_free_port_like_object_portgroup_physnet_match_first [0.064513s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestCommonFunctions.test_get_free_port_like_object_ports [0.057900s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestCommonFunctions.test_get_free_port_like_object_ports_physnet_match_first [0.095743s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestCommonFunctions.test_get_free_port_like_object_ports_physnet_match_first2 [0.071932s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestCommonFunctions.test_get_free_port_like_object_ports_pxe_enabled_first [0.054355s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_port [0.048971s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_portgroup [0.065083s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestCommonFunctions.test_plug_port_to_tenant_network_client [0.241788s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestCommonFunctions.test_plug_port_to_tenant_network_no_client [0.047637s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestCommonFunctions.test_plug_port_to_tenant_network_no_tenant_vif [0.047484s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestCommonFunctions.test_plug_port_to_tenant_network_smartnic_port [0.051329s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_extra_port [0.036064s] ... ok
{1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_extra_portgroup [0.043656s] ... ok
{1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_internal_info_port [0.040582s] ... ok
{1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_internal_info_portgroup [0.042760s] ... ok
{1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_in_internal_info [0.048579s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_not_attached [0.049651s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_in_internal_info [0.031548s] ... ok
{1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_not_attached [0.032165s] ... ok
{1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__save_vif_to_port_like_obj_port [0.036935s] ... ok
{1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__save_vif_to_port_like_obj_portgroup [0.041223s] ... ok
{1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_cleaning [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(
{1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_provisioning [0.047101s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestVifPortIDMixin.test_get_current_vif_internal_info_rescuing [0.045024s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestVifPortIDMixin.test_get_current_vif_internal_info_tenant_vif [0.043666s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestVifPortIDMixin.test_get_current_vif_none [0.045081s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestVifPortIDMixin.test_vif_list_extra_and_internal_priority [0.048140s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestVifPortIDMixin.test_vif_list_internal [0.057343s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestVifPortIDMixin.test_vif_list_port_and_portgroup [0.056431s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_cleaning [0.061245s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_cleaning_failed [0.055554s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_deploying [0.056498s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_deploying_failed [0.055833s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_bios.RedfishBiosTestCase.test_apply_conf_step_pre_reboot_cleaning [0.071478s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_bios.RedfishBiosTestCase.test_apply_conf_step_pre_reboot_deploying [0.080954s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_bios.RedfishBiosTestCase.test_apply_conf_step_pre_reboot_fast_track [0.082461s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_bios.RedfishBiosTestCase.test_apply_configuration_apply_time_immediate [0.057851s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_bios.RedfishBiosTestCase.test_apply_configuration_apply_time_on_reset [0.069757s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_bios.RedfishBiosTestCase.test_apply_configuration_fail [0.041634s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_bios.RedfishBiosTestCase.test_apply_configuration_no_apply_time_attr [0.062871s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_bios.RedfishBiosTestCase.test_apply_configuration_no_supported_apply_times [0.054233s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_bios.RedfishBiosTestCase.test_apply_configuration_not_supported [0.039085s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_bios.RedfishBiosTestCase.test_cache_bios_settings [0.067663s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings_no_bios [0.068539s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings_noop [0.114711s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_check_bios_attrs [0.250349s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_bios.RedfishBiosTestCase.test_factory_reset_fail [0.038227s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_bios.RedfishBiosTestCase.test_factory_reset_not_supported [0.036716s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_bios.RedfishBiosTestCase.test_factory_reset_post_reboot_cleaning [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(
{1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_post_reboot_deploying [0.051965s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_bios.RedfishBiosTestCase.test_factory_reset_step_pre_reboot_cleaning [0.066812s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_bios.RedfishBiosTestCase.test_factory_reset_step_pre_reboot_deploying [0.063408s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_bios.RedfishBiosTestCase.test_factory_reset_step_pre_reboot_fast_track [0.059476s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_bios.RedfishBiosTestCase.test_get_properties [0.030924s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_post_configuration [0.048317s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_validate [0.032291s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test__has_vmedia_device [0.026686s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test__has_vmedia_device_inserted [0.026134s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test__insert_vmedia_already_inserted [0.032282s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test__insert_vmedia_anew [0.044060s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test__insert_vmedia_anew_dvd [0.037094s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test__insert_vmedia_anew_dvd_retry [0.036426s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test__insert_vmedia_bad_device [0.036418s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test__insert_vmedia_while_ejecting [0.036551s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test_eject_vmedia_everything [0.043924s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test_eject_vmedia_from_all_resources [0.041693s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_timeout [9.036505s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test_eject_vmedia_not_inserted [0.062481s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test_eject_vmedia_specific [0.043905s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test_eject_vmedia_unknown [0.041093s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test_eject_vmedia_with_dvd_cisco_ucs [0.045410s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test__check_node_firmware_update_done [0.054684s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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 [0.054299s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.243690s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_update_in_progress [0.081104s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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__execute_firmware_update_no_targets [0.038317s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test__execute_firmware_update_targets [0.038198s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test__stage_firmware_file_error [0.035313s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test__stage_firmware_file_https [0.028571s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test__stage_firmware_file_swift [0.025086s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_check_conn_error [0.046204s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_update_still_waiting [0.049624s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_update_task_monitor_not_found [0.049545s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_update_wait_elapsed [0.049352s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_update_waitting [0.046247s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_delay [1.038414s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_continue_updates_last [0.050540s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_continue_updates_last_service [0.049046s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_continue_updates_more_updates [0.043219s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_create_all_components [0.093475s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_empty_settings [0.052818s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.053620s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_get_properties [0.030526s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_invalid_component_in_settings [0.050468s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_invalid_component_in_settings_service [0.050144s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.039071s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_missing_bios_component [0.063674s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_missing_bmc_component [0.060710s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_missing_required_field_in_settings [0.051943s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.054450s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_simple_update_action [0.044865s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_updateservice [0.046607s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_redfish_fw_updates [0.031141s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_redfish_fw_updates_empty [0.030383s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_validate [0.032407s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_cleanup [0.028709s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_cleanup_notstaged [0.019590s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_cleanup_swift_fails [0.025905s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_download_to_temp_file [0.025596s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_download_to_temp_http [0.027681s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_download_to_temp_invalid [0.019176s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_download_to_temp_swift [0.038330s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_get_swift_temp_url [0.026612s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_stage_http [0.021788s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_stage_http_copyfile [0.205294s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_stage_http_copyfile_fails [0.022567s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_stage_local_external [0.022602s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_stage_swift [0.024774s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args [0.022103s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_checksum_missing [0.020731s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_checksum_not_string [0.021243s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_not_list [0.023295s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_source_not_known [0.018926s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_unknown_key [0.022655s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_url_missing [0.021289s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_url_not_string [0.031586s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_wait_not_int [0.023665s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_verify_checksum [0.026563s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_verify_checksum_mismatch [0.023389s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_verify_checksum_sha256 [0.038118s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_verify_checksum_sha512 [0.022496s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_done [0.051104s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.060290s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.055176s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.050853s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.054356s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.060356s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.054824s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_last_update [0.052217s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.041446s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.050689s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.036875s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_data_drive_storage [0.035669s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_fan [0.040458s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_power [0.034020s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_temperatures [0.035494s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_failed [0.035872s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_failed_no_firmware_upd [0.044980s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_status [0.031877s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_status_no_firmware_upd [0.045283s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__stage_firmware_file_error [0.029462s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__stage_firmware_file_https [0.033523s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__stage_firmware_file_swift [0.026510s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_attach_virtual_media [0.047132s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.068288s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_clear_secure_boot_not_implemented [0.043725s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_detach_virtual_media [0.080200s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.052368s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_detect_vendor [0.055677s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_boot_device [0.055877s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_boot_mode [0.082131s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_indicator_state [0.084246s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.057466s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_missing_attr [0.050499s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_mac_addresses_no_ports_found [0.035794s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_mac_addresses_success [0.038694s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_properties [0.038080s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_secure_boot_state [0.037376s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_secure_boot_state_not_implemented [0.062416s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_sensors_data [0.038602s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_boot_devices [0.043645s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_boot_modes [0.050195s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_indicators [0.047560s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_virtual_media [0.052402s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_inject_nmi [0.286463s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_inject_nmi_fail [0.073923s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_reset_secure_boot_to_default [0.064285s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_reset_secure_boot_to_default_not_implemented [0.034851s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device [0.043564s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_restore_boot_device_compat [0.051600s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_restore_boot_device_failure [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(
{1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device_noop [0.061535s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_set_boot_device [0.087044s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_set_boot_device_fail [0.093368s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_set_boot_device_fail_no_change [0.082402s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_set_boot_device_http_boot [0.079600s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_set_boot_device_persistence_fallback [0.112482s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_set_boot_device_persistency [0.074129s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_set_boot_device_persistency_no_change [0.086054s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_set_boot_device_persistency_vendor [0.096551s] ... ok
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_set_boot_mode [0.057129s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_set_boot_mode_fail [0.091843s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_set_boot_mode_unsupported [0.107182s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_set_indicator_state [0.065639s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_set_indicator_state_disk [0.081826s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_set_secure_boot_state [0.056648s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_set_secure_boot_state_boot_mode_fails [0.170711s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_set_secure_boot_state_boot_mode_incorrect [0.180842s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_set_secure_boot_state_boot_mode_no_change [0.078727s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_set_secure_boot_state_boot_mode_unknown [0.099613s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_set_secure_boot_state_not_implemented [0.080761s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_update_firmware [0.061321s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_update_firmware_invalid_args [0.055699s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_update_firmware_stage [0.053889s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_update_firmware_stage_both [0.060779s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_validate [0.037431s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_wait_for_boot_mode [0.069790s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_wait_for_boot_mode_immediate [0.046294s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_wait_for_secure_boot [0.074194s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_wait_for_secure_boot_immediate [0.056863s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_wait_for_secure_boot_no_wait [0.061531s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_wait_for_secure_boot_timeout [1.048986s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_raid.RedfishRAIDTestCase.test__check_node_raid_config_clean [0.464758s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_raid.RedfishRAIDTestCase.test__check_node_raid_config_deploy [0.089339s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_raid.RedfishRAIDTestCase.test__check_node_raid_config_pending_create [0.067324s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_raid.RedfishRAIDTestCase.test__check_node_raid_config_pending_delete [0.080871s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_raid.RedfishRAIDTestCase.test__get_controller [0.046830s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__get_controller_no_controllers [0.036533s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__get_first_controller_controllers [0.031062s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__get_first_controller_empty [0.033264s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__get_first_controller_storage_controllers [0.037309s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__get_storage_controller [0.039788s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid0 [0.029155s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid1 [0.032417s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid5 [0.026889s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid6 [0.027640s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_invalid_state [9.056038s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_failed [0.041203s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_snmp_get_failure [0.028106s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_snmp_set_failure [0.024009s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_still_processing [0.045129s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_raid.RedfishRAIDTestCase.test__raid_config_in_progress_success [0.051625s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_raid.RedfishRAIDTestCase.test__raid_config_in_progress_task_mon_error [0.046849s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_raid.RedfishRAIDTestCase.test__volume_usage_per_disk_bytes_raid10 [0.028572s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__volume_usage_per_disk_bytes_raid5 [0.028628s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1a [0.048421s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1b [0.047625s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1b_apply_time_immediate [0.338430s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1b_apply_time_on_reset [0.109657s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_2 [0.195227s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_2_on_reset [0.149608s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_3 [0.113849s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_4 [0.070384s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_5a [0.052984s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_5b [0.094082s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_6 [0.100619s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_interface_type [0.150364s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_delete_config_immediate [0.084030s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_delete_config_on_reset [0.047517s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_get_physical_disks [0.249193s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_update_raid_config_missing_raid_type [0.039824s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_validate_raid_config [0.036348s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_validate_raid_config_scsi [0.036917s] ... ok
{1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_volume_create_error_handler [0.039438s] ... ok
{1} ironic.tests.unit.drivers.modules.storage.test_external.ExternalInterfaceTestCase.test_should_write_image [0.054036s] ... ok
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.storage.test_external.ExternalInterfaceTestCase.test_validate_fails_with_ipxe_not_enabled [0.046590s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestBootcAgentDeploy.test_execute_bootc_install [0.042094s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestBootcAgentDeploy.test_set_boot_to_disk [0.042988s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestBootcAgentDeploy.test_set_boot_to_disk_lenovo [0.045460s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestBootcAgentDeploy.test_validate [0.037750s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestBootcAgentDeploy.test_validate_fails_image_source_not_set [0.041375s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestBootcAgentDeploy.test_validate_fails_with_non_oci [0.042257s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestCustomAgentDeploy.test_clean_up [0.050037s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestCustomAgentDeploy.test_clean_up_disable_power_off [0.050913s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestCustomAgentDeploy.test_deploy [0.050437s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestCustomAgentDeploy.test_deploy_fast_track [0.061240s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestCustomAgentDeploy.test_deploy_storage_should_write_image_false [0.048169s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestCustomAgentDeploy.test_deploy_with_deployment_reboot [0.051536s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestCustomAgentDeploy.test_get_properties [0.027459s] ... ok
{1} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_prepare [0.050812s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestCustomAgentDeploy.test_prepare_disable_power_off [0.053324s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestCustomAgentDeploy.test_prepare_fast_track [0.055361s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestCustomAgentDeploy.test_validate [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(
{1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_agent_get_steps [0.041952s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_base.StepMethodsTestCase.test_agent_get_steps_deploy [0.041075s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_base.StepMethodsTestCase.test_execute_clean_step [0.043606s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_base.StepMethodsTestCase.test_execute_clean_step_running [0.044561s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_base.StepMethodsTestCase.test_execute_clean_step_version_mismatch [0.046132s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_base.StepMethodsTestCase.test_execute_deploy_step [0.049049s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_base.StepMethodsTestCase.test_execute_service_step [0.048914s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_base.StepMethodsTestCase.test_find_step [0.044563s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_base.StepMethodsTestCase.test_find_step_not_found [0.048414s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_base.StepMethodsTestCase.test_get_deploy_steps [0.042356s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_base.StepMethodsTestCase.test_get_deploy_steps_only_oob [0.042821s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_base.StepMethodsTestCase.test_get_steps_custom_interface [0.042917s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_base.StepMethodsTestCase.test_get_steps_missing_steps [0.047938s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_base.StepMethodsTestCase.test_get_steps_override_priorities [0.041869s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_base.StepMethodsTestCase.test_get_steps_override_priorities_none [0.219776s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.GetBootModeTestCase.test_get_boot_mode_bios [0.020180s] ... ok
{1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_bios_default [0.023439s] ... ok
{1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_default [0.024344s] ... ok
{1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_default_set [0.025168s] ... ok
{1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_for_deploy_using_capabilities [0.019183s] ... ok
{1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_for_deploy_using_instance_info [0.020165s] ... ok
{1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_for_deploy_using_instance_info_cap [0.018729s] ... ok
{1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_for_deploy_using_instance_info_secure_boot [0.018790s] ... ok
{1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_uefi [0.020706s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__ensure_console_pid_dir_exists [0.023164s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__ensure_console_pid_dir_exists_fail [0.023818s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid [0.022072s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_dir [0.021332s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_dir_tempdir [0.021463s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_file [0.021812s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_file_not_found [0.020624s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_not_a_num [0.021668s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console [0.024679s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_exception [0.024748s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_forced_kill [0.827317s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_nopid [0.032637s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_shellinabox_not_running [0.025737s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_default [0.039089s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_hostname [0.040715s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_ipv4 [0.040677s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_ipv6 [0.038682s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_allocate_port_no_free_ports [0.022799s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_allocate_port_range_retry [0.024200s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_allocate_port_success [0.024280s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_shellinabox_console_https_url [0.021786s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_shellinabox_console_url [0.020514s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp [0.020341s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp6 [0.020455s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp_with_address_conf [0.020249s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_invalid_console_port_range [0.019936s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_make_persistent_password_file [0.020117s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_make_persistent_password_file_fail [0.021007s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console [0.029501s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail [0.030314s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail_no_pid [0.031109s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail_nopiddir [0.026981s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_nopid [0.029767s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_timeout [0.029113s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console [0.029246s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_bind_addr_default_ipv4 [0.029641s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_bind_addr_ipv4 [0.029386s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_default_timeout [0.029476s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_timeout [0.029745s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_timeout_disabled [0.028586s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_fail [0.027869s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_fail_nopiddir [0.027373s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_nopid [0.030734s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_shellinabox_console [0.022519s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_shellinabox_console_fail_nopid [0.022685s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_socat_console [0.021919s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_socat_console_fail_nopid [0.022015s] ... ok
{1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_valid_console_port_range [0.190316s] ... ok
{1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceImageCacheTestCase.test_with_master_path [0.021695s] ... ok
{1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceImageCacheTestCase.test_without_master_path [0.020457s] ... ok
{1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images [0.025786s] ... ok
{1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images_checksum [0.024895s] ... ok
{1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images_fail [0.024512s] ... ok
{1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images_with_auth [0.025337s] ... ok
{1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_anaconda_deploy [0.024050s] ... ok
{1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_default_value [0.024463s] ... ok
{1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_fail [0.025020s] ... ok
{1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_from_keystone [0.024917s] ... ok
{1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_none [0.025418s] ... ok
{1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_anaconda_deploy [0.023779s] ... ok
{1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_anaconda_deploy_false [0.022418s] ... ok
{1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_software_raid [0.022437s] ... ok
{1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_software_raid_false [0.023179s] ... ok
{1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state [0.115903s] ... ok
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.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs [0.074711s] ... ok
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_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs_never [0.051750s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs_overide [0.050898s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.OtherFunctionTestCase.test_set_failed_state_no_poweroff [0.110070s] ... ok
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.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_config_whole_disk_image [0.020022s] ... ok
{1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_iscsi_boot [0.019571s] ... ok
{1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_whole_disk_image [0.018246s] ... ok
{1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_elilo_config_whole_disk_image [0.018067s] ... ok
{1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_grub_config_whole_disk_image [0.017857s] ... ok
{1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_ipxe_config_whole_disk_image [0.017636s] ... ok
{1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_already_raw [0.055908s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_already_raw_keeps_md5 [0.058413s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_file_image [0.053507s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_force_raw [0.057597s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_force_raw_drops_md5 [0.056923s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image [0.053225s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image_already_raw [0.051031s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image_via_dinfo [0.051850s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image_via_iinfo [0.051662s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_md5_not_permitted [0.052568s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_no_force_raw [0.055840s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_remote_checksum_image [0.054132s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_remote_checksum_sha256 [0.052543s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_remote_checksum_sha512 [0.053388s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_remote_image_via_http_verified [0.052507s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.024683s] ... ok
{1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good [0.025702s] ... ok
{1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good_non_glance_image [0.024423s] ... ok
{1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good_non_glance_image_anaconda [0.024718s] ... ok
{1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_missing_image_source [0.024393s] ... ok
{1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_non_glance_image_missing_kernel [0.198283s] ... ok
{1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_non_glance_image_missing_ramdisk [0.024510s] ... ok
{1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_ramdisk_deploy [0.025139s] ... ok
{1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_whole_disk_image [0.023572s] ... ok
{1} ironic.tests.unit.drivers.modules.test_graphical_console.TestGraphicalConsole.test__expire_console_sessions [0.043570s] ... ok
{1} ironic.tests.unit.drivers.modules.test_graphical_console.TestGraphicalConsole.test_start_console [0.034197s] ... ok
{1} ironic.tests.unit.drivers.modules.test_graphical_console.TestGraphicalConsole.test_stop_console [0.037986s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_both_clean_up [0.027354s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_clean_up_another_fs [0.027167s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_clean_up_fail [0.025698s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_no_clean_up [0.025231s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_one_clean_up [0.027969s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_no_dest [0.020307s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_no_master [0.019646s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_out_of_date [0.021073s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_up_to_date [0.021488s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_glance_img [0.020608s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_glance_img_not_cached [0.021147s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_master_same_time [0.019899s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_master_up_to_date [0.019990s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_no_master [0.019918s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_no_updated_at [0.019532s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_oci_img [0.019735s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_oci_img_not_cached [0.019528s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_out_of_date [0.019588s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_utils.ISOCacheTestCase.test__download_image_iso [0.021815s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_utils.ISOCacheTestCase.test_fetch_image_iso [0.022021s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_timeout [9.039880s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__find_param [0.023697s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__find_param_not_found [0.023597s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_error [0.054573s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bios [0.034248s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_off [0.026738s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso [0.040261s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_on [0.023965s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_snmp_failure [0.023951s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso_with_instance_info [0.033742s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_raritan_pdu2_snmp_objects [0.029178s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_default_boot_mode [0.034759s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_servertech_sentry3_snmp_objects [0.023001s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_extra_params [0.034893s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_servertech_sentry4_snmp_objects [0.023803s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_snmp_auto_cache_supports_pdu_replacement [0.026145s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params [0.034716s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_off [0.024482s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_defaults [0.034198s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_on [0.023514s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_driver_info [0.033787s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_reset [0.023526s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_state_off [0.023323s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_driver_info_bios [0.033556s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_state_on [0.022766s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_for_ramdisk_bios [0.034202s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_snmp_objects [0.022507s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_vertivgeist_pdu_snmp_objects [0.022821s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_for_ramdisk_cleaning [0.034627s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_for_ramdisk_uefi [0.034295s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_error [0.038934s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_uefi [0.034075s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_off [0.040133s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_with_node_external_http_url [0.034290s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_on [0.041943s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_utils.RedfishImageUtilsTestCase.test_cleanup_floppy_image [0.032475s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_snmp_failure [0.042422s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_utils.RedfishImageUtilsTestCase.test_cleanup_iso_image [0.034432s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_properties [0.042134s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_utils.RedfishImageUtilsTestCase.test_prepare_boot_iso [0.034773s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_boot_iso_user_supplied [0.033490s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot [0.043771s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_utils.RedfishImageUtilsTestCase.test_prepare_configdrive_image [0.032548s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_error [0.041809s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_utils.RedfishImageUtilsTestCase.test_prepare_configdrive_image_binary_url [0.040714s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_snmp_failure [0.042988s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_utils.RedfishImageUtilsTestCase.test_prepare_configdrive_image_url [0.032548s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_timeout [0.042464s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso [0.033515s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_existing_iso [0.034984s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_error [0.044544s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_existing_iso_vendor_prefix [0.033911s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off [0.041727s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_external_ip [0.052710s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off_error [0.041634s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_network_data [0.032639s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_tls [0.041417s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off_snmp_failure [0.042063s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_snmp.SNMPDriverTestCase.test_set_power_state_on [0.051796s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_utils.RedfishImageUtilsTestCase.test_prepare_disk_image [0.042108s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_error [0.040918s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_utils.RedfishImageUtilsTestCase.test_prepare_disk_image_file [0.040909s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_snmp_failure [0.041032s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_utils.RedfishImageUtilsTestCase.test_prepare_disk_image_prefix [0.039768s] ... ok
{3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_timeout [0.044663s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_utils.RedfishImageUtilsTestCase.test_prepare_floppy_image [0.037353s] ... ok
{3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo [0.021227s] ... ok
{3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_description_invalid [0.018272s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_floppy_image_publish_with_config_external_http_url [0.036694s] ... ok
{3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_empty_dict [0.019516s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_floppy_image_publish_with_node_external_http_url [0.036417s] ... ok
{3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_missing_description [0.023549s] ... ok
{3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_not_dict [0.020532s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_floppy_image_with_external_ip [0.036476s] ... ok
{3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_required_invalid [0.020298s] ... ok
{3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_unknown_key [0.018903s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_remote_image [0.034688s] ... ok
{3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_not_dict [0.019521s] ... ok
{3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_all_args [0.018902s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_remote_image_custom_cache [0.037293s] ... ok
{3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_abortable [0.029279s] ... ok
{3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_argsinfo [0.021168s] ... ok
{3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_priority [0.019959s] ... ok
{3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_priority_only [0.018526s] ... ok
{3} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_check_func_references [0.018898s] ... ok
{3} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_exclusive_task_metadata [0.018975s] ... ok
{3} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_ironicexception [0.023490s] ... ok
{3} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_noexception [0.018308s] ... ok
{3} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_nonironicexception [0.023176s] ... ok
{3} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_shared_task_metadata [0.019789s] ... ok
{3} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_apply_configuration [0.023379s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_remote_image_file [0.236983s] ... ok
{3} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_apply_configuration_delete_existing [0.021946s] ... ok
{3} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_apply_configuration_invalid [0.021810s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_remote_image_from_swift [0.045937s] ... ok
{3} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_get_logical_disk_properties [0.021529s] ... ok
{3} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate [0.023938s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_remote_image_local [0.041811s] ... ok
{3} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate_no_target_raid_config [0.021978s] ... ok
{3} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate_raid_config [0.019855s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_remote_image_local_external_http_url [0.045322s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_remote_image_swift_noop [0.035834s] ... ok
{1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_remote_image_swift_schema [0.033030s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test___set_and_wait_no_needless_status_polling [0.044905s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_ipmitool.IPMIToolPrivateMethodTestCase.test__check_cipher_suite_errors [0.026976s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__choose_cipher_suite_empty_list [0.025804s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__choose_cipher_suite_one_element [0.027158s] ... ok
{3} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_default_interfaces [0.234258s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_ipmitool.IPMIToolPrivateMethodTestCase.test__choose_cipher_suite_returns_last_to_first [0.036109s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_IPMI_version_1_5 [0.032533s] ... ok
{3} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_inspector [0.049812s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite [0.030342s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite_error_noconfig [0.028808s] ... ok
{3} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_raid [0.059888s] ... ok
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_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite_set_with_error_config [0.035700s] ... ok
{3} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_bios [0.057755s] ... ok
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_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite_set_with_error_noconfig [0.029983s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_exception [0.027460s] ... ok
{3} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_inspect [0.045519s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_first_call_to_address [0.029163s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_second_call_to_address_no_sleep [0.031341s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_second_call_to_address_sleep [0.036219s] ... ok
{3} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_management_and_power [0.090826s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_try_different_cipher_suite [0.043503s] ... ok
{3} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_raid [0.080714s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_two_calls_to_diff_address [0.052699s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_check_exit_code [0.027932s] ... ok
{3} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_vendor [0.053976s] ... ok
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_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_dual_bridging [0.029316s] ... ok
{3} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_virtual_media_boot [0.042344s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_empty_username [0.029098s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_ironic_retries [0.027582s] ... ok
{3} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_default_interfaces [0.040248s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_ironic_retries_multiple [0.029584s] ... ok
{3} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_agent_rescue [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_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_port [0.035976s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_single_bridging [0.028539s] ... ok
{3} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_inspector [0.043000s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_timeout [0.029461s] ... ok
{3} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_no_bios [0.039240s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_timing [0.029297s] ... ok
{3} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_pxe [0.038994s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_timing [0.030358s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_username [0.028808s] ... ok
{3} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_default_interfaces [0.045412s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_ipmitool.IPMIToolPrivateMethodTestCase.test__ipmitool_timing_args [0.027867s] ... ok
{3} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_agent_rescue [0.039399s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info [0.027976s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_have_credentials [0.026192s] ... ok
{3} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_cinder_storage [0.038877s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_invalid_ipmi_port [0.029986s] ... ok
{3} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_noop_mgmt [0.047640s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_invalid_ipmi_prot_version [0.037013s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_cipher_suite [0.029022s] ... ok
{3} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_shellinabox [0.039933s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_cipher_suite_ipmi_1_5 [0.030046s] ... ok
{3} ironic.tests.unit.drivers.test_redfish.RedfishHardwareTestCase.test_default_interfaces [0.039358s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_cipher_suite_not_a_number [0.030262s] ... ok
{3} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_get_properties [0.027097s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_hex_kg_key [0.028928s] ... ok
{3} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_validate_bad_method [0.041334s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_hex_kg_key_odd_chars [0.030593s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_port_valid [0.028621s] ... ok
{3} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_validate_valid_methods [0.044296s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_prot_version_1_5 [0.031082s] ... ok
{3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_list [0.033208s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_numeric_password [0.026659s] ... ok
{3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_load [0.023714s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_terminal_port_allocated [0.026052s] ... ok
{3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_refresh [0.023535s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_terminal_port_specified [0.026271s] ... ok
{3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register [0.025631s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_undefined_credentials [0.026561s] ... ok
{3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_hardware_interfaces [0.024445s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_missing_parameters [0.026863s] ... ok
{3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group [0.026035s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_not_supported [0.027113s] ... ok
{3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group_uppercased [0.024606s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_pass [0.026527s] ... ok
{3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group_with_update [0.027412s] ... ok
{3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_update_existing_true [0.024300s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_invalid_bridging_type [0.031955s] ... ok
{3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_with_invalid_group [0.024992s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_no_bridging [0.030149s] ... ok
{3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_save [0.024922s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_missing_parameters [0.031024s] ... ok
{3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_touch [0.026238s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_not_supported [0.029662s] ... ok
{3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_unregister [0.027268s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_pass [0.030598s] ... ok
{3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_unregister_all_hardware_interfaces [0.025780s] ... ok
{3} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_create [0.036968s] ... ok
{3} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_create_with_node [0.031275s] ... ok
{3} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_destroy [0.043725s] ... ok
{3} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_destroy_with_node [0.040898s] ... ok
{3} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_get_by_node_uuid [0.029220s] ... ok
{3} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_get_by_uuid [0.030447s] ... ok
{3} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_not_found [0.068182s] ... ok
{3} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_refresh [0.035040s] ... ok
{3} ironic.tests.unit.objects.test_fields.TestNotificationStatusField.test_coerce_bad_value [0.020137s] ... ok
{3} ironic.tests.unit.objects.test_fields.TestNotificationStatusField.test_coerce_good_value [0.019832s] ... ok
{3} ironic.tests.unit.objects.test_firmware.TestFirmwareComponentObject.test_create [0.022658s] ... ok
{3} ironic.tests.unit.objects.test_firmware.TestFirmwareComponentObject.test_get_firmware_component [0.023339s] ... ok
{3} ironic.tests.unit.objects.test_firmware.TestFirmwareComponentObject.test_get_firmware_component_does_not_exist [0.022316s] ... ok
{3} ironic.tests.unit.objects.test_firmware.TestFirmwareComponentObject.test_get_firmware_component_node_does_not_exist [0.022246s] ... ok
{3} ironic.tests.unit.objects.test_firmware.TestFirmwareComponentObject.test_save [0.023895s] ... ok
{3} ironic.tests.unit.objects.test_firmware.TestFirmwareComponentObject.test_sync_firmware_components_create_and_update [0.026182s] ... ok
{3} ironic.tests.unit.objects.test_firmware.TestFirmwareComponentObject.test_sync_firmware_components_nochange [0.031608s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_supported_missing [0.023148s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_supported_set [0.022702s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_missing [0.022629s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_no_remove_default [0.022114s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_no_remove_non_default [0.023313s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_remove [0.022072s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_supported_missing [0.023225s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_supported_set [0.022570s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_missing [0.021873s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_no_remove_default [0.026508s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_no_remove_non_default [0.021644s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_remove [0.022653s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_supported_missing [0.021351s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_supported_set [0.021824s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_missing [0.021649s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_no_remove_default [0.021191s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_no_remove_non_default [0.021291s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_remove [0.020935s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_supported_missing [0.021673s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_supported_set [0.021973s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_unsupported_missing [0.021182s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_unsupported_set_no_remove_default [0.368437s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_unsupported_set_no_remove_non_default [0.043571s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_unsupported_set_remove [0.039682s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_supported_set [0.049409s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_supported_unset [0.040843s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_set [0.034946s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_set_no_remove [0.047259s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_unset [0.042965s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_supported_missing [0.053293s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_supported_set [0.041155s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_missing [0.041681s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_no_remove_default [0.050482s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_no_remove_non_default [0.034357s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_remove [0.040401s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_on_max_retries [2.049318s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_node.TestConvertToVersion.test_fault_supported_missing [0.042428s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_error [0.047147s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_supported_untouched [0.044924s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_exception [0.043216s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_missing [0.045442s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_off [0.063299s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_set_remove [0.050566s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_on [0.050560s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_set_remove_in_maintenance [0.046158s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__prepare_ipmi_password_caller_exception [0.060518s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_firmware_supported_missing [0.039622s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_firmware_supported_set [0.028794s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_firmware_unsupported_missing [0.023121s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_firmware_unsupported_set_no_remove_default [0.022468s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_firmware_unsupported_set_no_remove_non_default [0.030165s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_firmware_unsupported_set_remove [0.025742s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_supported_missing [0.030829s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_supported_set [0.023167s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_missing [0.022420s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_set_no_remove_default [0.031193s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_set_no_remove_non_default [0.024571s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_set_remove [0.030639s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_supported_missing [0.027733s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_supported_set [0.026902s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_missing [0.023778s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__prepare_ipmi_password_str_password [0.417447s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_no_remove_default [0.033638s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_no_remove_non_default [0.023446s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_remove [0.022350s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__prepare_ipmi_password_tempfile_known_exception [0.055164s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_supported_missing [0.032644s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__prepare_ipmi_password_tempfile_unknown_exception [0.049710s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_supported_set [0.025932s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_missing [0.025290s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__prepare_ipmi_password_with_numeric_password [0.060677s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_set_no_remove_non_default [0.025724s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_set_remove [0.026210s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__prepare_ipmi_password_write_exception [0.067729s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_supported_missing [0.060785s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_supported_set [0.032457s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_missing [0.049259s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_no_remove_default [0.034062s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_no_remove_non_default [0.029046s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_remove [0.023055s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_supported_missing [0.022400s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_supported_set [0.021790s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_unsupported_missing [0.024136s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_unsupported_set_no_remove_non_default [0.031301s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_unsupported_set_remove [0.022572s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_trait_unsupported_set_no_remove_default [0.025871s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_trait_unsupported_set_no_remove_non_default [0.025315s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_supported_missing [0.028560s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_supported_set [0.022886s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_unsupported_missing [0.021424s] ... ok
{3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_unsupported_missing_remove [0.027424s] ... ok
{3} ironic.tests.unit.objects.test_port.TestPortObject.test_create [0.023953s] ... ok
{3} ironic.tests.unit.objects.test_port.TestPortObject.test_get_bad_id_and_uuid_and_name_and_address [0.051613s] ... ok
{3} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_address [0.027035s] ... ok
{3} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_id [0.026991s] ... ok
{3} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_name [0.024304s] ... ok
{3} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_uuid [0.035956s] ... ok
{3} ironic.tests.unit.objects.test_port.TestPortObject.test_list [0.026096s] ... ok
{3} ironic.tests.unit.objects.test_port.TestPortObject.test_list_deprecated_owner [0.024227s] ... ok
{3} ironic.tests.unit.objects.test_port.TestPortObject.test_payload_schemas [0.026866s] ... ok
{3} ironic.tests.unit.objects.test_port.TestPortObject.test_refresh [0.025714s] ... ok
{3} ironic.tests.unit.objects.test_port.TestPortObject.test_save [0.026517s] ... ok
{3} ironic.tests.unit.objects.test_port.TestPortObject.test_save_after_refresh [0.041020s] ... ok
{3} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_is_smartnic_supported [0.026044s] ... ok
{3} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_is_smartnic_unsupported [0.030377s] ... ok
{3} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_physical_network_supported [0.027322s] ... ok
{3} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_physical_network_unsupported [0.040176s] ... ok
{3} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra [0.053460s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__set_and_wait_explicit_reboot [1.082266s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_portgroup.TestConvertToVersion.test_vif_in_extra_in_internal_info [0.038755s] ... ok
{3} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_lower_version [0.053521s] ... ok
{3} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_not_in_extra [0.047845s] ... ok
{3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_create [0.049054s] ... ok
{3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_destroy [0.056594s] ... ok
{3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get [0.058286s] ... ok
{3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get_by_id [0.041147s] ... ok
{3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get_by_uuid [0.048476s] ... ok
{3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list [0.043517s] ... ok
{3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list_by_node_id [0.403179s] ... ok
{3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list_none [0.046536s] ... ok
{3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_payload_schemas [0.049524s] ... ok
{3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_refresh [0.047677s] ... ok
{3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_save [0.039700s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__soft_power_off [1.081460s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_volume_connector.TestVolumeConnectorObject.test_save_after_refresh [0.059124s] ... ok
{3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_create [0.042814s] ... ok
{3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_destroy [0.050620s] ... ok
{3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get [0.050610s] ... ok
{3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get_by_id [0.038089s] ... ok
{3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get_by_uuid [0.036648s] ... ok
{3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list [0.061747s] ... ok
{3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_by_node_id [0.059702s] ... ok
{3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_by_volume_id [0.065909s] ... ok
{3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_none [0.056739s] ... ok
{3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_payload_schemas [0.042343s] ... ok
{3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_refresh [0.042721s] ... ok
{3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_save [0.050477s] ... ok
{3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_save_after_refresh [0.064758s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__soft_power_off_max_retries [2.086523s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_bmc_initialization_in_progress [0.035671s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_insufficient_resources_for_session [0.037245s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_node_busy [0.056815s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_out_of_space [0.041823s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_timeout [0.039848s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_bmc_initialization_in_progress [0.040197s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_insufficient_resources_for_session [0.030164s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_node_busy [0.027888s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_out_of_space [0.028388s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_timeout [0.029478s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_bmc_initialization_in_progress [0.043465s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_insufficient_resources_for_session [0.033849s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_node_busy [0.033926s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_out_of_space [0.035594s] ... ok
{1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_timeout [0.029035s] ... ok
{1} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_bios [0.020333s] ... ok
{1} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_console [0.019383s] ... ok
{1} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_inspect [0.026794s] ... ok
{1} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_load_by_name [0.023783s] ... ok
{1} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_rescue [0.018524s] ... ok
{1} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_vendor [0.018988s] ... ok
{1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_instance [0.049917s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.PXEBootTestCase.test_clean_up_ramdisk [0.058701s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.PXEBootTestCase.test_clean_up_ramdisk_rescue [0.074929s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.PXEBootTestCase.test_get_properties [0.123199s] ... ok
{1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance [0.169940s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.PXEBootTestCase.test_prepare_instance_active [0.177904s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.PXEBootTestCase.test_prepare_instance_kickstart [0.152564s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.PXEBootTestCase.test_prepare_instance_kickstart_bios [0.152144s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.PXEBootTestCase.test_prepare_instance_lenovo [0.116507s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.PXEBootTestCase.test_prepare_instance_ramdisk_pxe_conf_exists [0.144438s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.PXEBootTestCase.test_prepare_instance_ramdisk_pxe_conf_missing [0.152909s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.PXEBootTestCase.test_prepare_ramdisk [0.173500s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.PXEBootTestCase.test_prepare_ramdisk_bios [0.149602s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.PXEBootTestCase.test_prepare_ramdisk_cleaning [0.202669s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.PXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.142463s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.PXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.147605s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.PXEBootTestCase.test_prepare_ramdisk_rescue [0.166441s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.PXEBootTestCase.test_prepare_ramdisk_rescue_bios [0.632616s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.183096s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.181469s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.164663s] ... ok
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_pxe.PXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_bios [0.161178s] ... ok
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_pxe.PXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_uefi [0.180004s] ... ok
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_pxe.PXEBootTestCase.test_prepare_ramdisk_uefi [0.142472s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.PXEBootTestCase.test_validate_fail_missing_deploy_kernel [0.094128s] ... ok
{1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_deploy_ramdisk [0.079568s] ... ok
{1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_no_port [0.084798s] ... ok
{1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_good [0.091885s] ... ok
{1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_good_whole_disk_image [0.092532s] ... ok
{1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_inspection [0.101968s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.PXEBootTestCase.test_validate_inspection_no_inspection_ramdisk [0.107251s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.PXEBootTestCase.test_validate_kickstart_fail_http_url_not_set [0.119077s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.PXEBootTestCase.test_validate_kickstart_missing_stage2_id [0.117254s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.PXEBootTestCase.test_validate_no_image_source_for_local_boot [0.087171s] ... ok
{1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_non_local [0.093480s] ... ok
{1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_skip_check_write_image_false [0.086598s] ... ok
{1} ironic.tests.unit.drivers.test_base.TestBIOSInterface.test_apply_configuration_wrapper [0.038557s] ... ok
{1} ironic.tests.unit.drivers.test_base.TestBIOSInterface.test_factory_reset_wrapper [0.038062s] ... ok
{1} ironic.tests.unit.drivers.test_base.TestDeployInterface.test_warning_on_heartbeat [0.041797s] ... ok
{1} ironic.tests.unit.drivers.test_base.TestFirmwareInterface.test_update_with_wrapper [0.050201s] ... ok
{1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_boot_interface [0.083705s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_fake_hardware.FakeHardwareTestCase.test_console_interface [0.076373s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_fake_hardware.FakeHardwareTestCase.test_deploy_interface [0.070300s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_fake_hardware.FakeHardwareTestCase.test_driver_interfaces [0.086260s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_fake_hardware.FakeHardwareTestCase.test_get_properties [0.078711s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_fake_hardware.FakeHardwareTestCase.test_inspect_interface [0.084895s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_fake_hardware.FakeHardwareTestCase.test_management_interface_get_boot_device [0.087090s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_fake_hardware.FakeHardwareTestCase.test_management_interface_get_indicator_state [0.080519s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_fake_hardware.FakeHardwareTestCase.test_management_interface_get_properties [0.101004s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_fake_hardware.FakeHardwareTestCase.test_management_interface_get_supported_boot_devices [0.077995s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_fake_hardware.FakeHardwareTestCase.test_management_interface_get_supported_indicators [0.099281s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_device_fail [0.039293s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_device_good [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(
{1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_mode_good [0.038064s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_fake_hardware.FakeHardwareTestCase.test_management_interface_set_indicator_state_good [0.037169s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_fake_hardware.FakeHardwareTestCase.test_management_interface_validate [0.064300s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_fake_hardware.FakeHardwareTestCase.test_parse_sleep_range [0.037082s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_fake_hardware.FakeHardwareTestCase.test_power_interface [0.043016s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_fake_hardware.FakeHardwareTestCase.test_sleep_one [0.042397s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_fake_hardware.FakeHardwareTestCase.test_sleep_range [0.039281s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_fake_hardware.FakeHardwareTestCase.test_sleep_zero [0.040321s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_ilo.Ilo5HardwareTestCase.test_default_interfaces [0.043046s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_ilo.Ilo5HardwareTestCase.test_override_raid [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(
/usr/lib/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_default_interfaces [0.048221s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.041053s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_bios_configuration [0.041837s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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.040762s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_inspector [0.237520s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_ipmitool_power [0.052668s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_raid_configuration [0.046404s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_snmp.SNMPHardwareTestCase.test_default_interfaces [0.039051s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_snmp.SNMPHardwareTestCase.test_fake_management [0.038931s] ... ok
Captured stderr:
~~~~~~~~~~~~~~~~
    /usr/lib/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_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs [0.020088s] ... ok
{1} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_IPA_command_fail [0.022743s] ... ok
{1} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_command_fail [0.020763s] ... ok
{1} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_fs [0.019734s] ... ok
{1} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_swift [0.020831s] ... ok
{1} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_unkown [0.020834s] ... ok
{1} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_with_label [0.028822s] ... ok
{1} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_get_ramdisk_logs_file_name [0.021769s] ... ok
{1} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_store_ramdisk_logs_local [0.022679s] ... ok
{1} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_store_ramdisk_logs_swift [0.027473s] ... ok
{1} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_create [0.023137s] ... ok
{1} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_bad_id_and_uuid_and_name [0.020781s] ... ok
{1} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_id [0.026345s] ... ok
{1} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_name [0.023981s] ... ok
{1} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_uuid [0.022366s] ... ok
{1} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_list [0.023989s] ... ok
{1} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_payload_schemas [0.028462s] ... ok
{1} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_refresh [0.023392s] ... ok
{1} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_save [0.023201s] ... ok
{1} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_save_after_refresh [0.029002s] ... ok
{1} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_supported_missing [0.021522s] ... ok
{1} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_supported_set [0.020719s] ... ok
{1} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_missing [0.020162s] ... ok
{1} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_set_no_remove_default [0.021590s] ... ok
{1} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_set_no_remove_non_default [0.028047s] ... ok
{1} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_set_remove [0.022857s] ... ok
{1} ironic.tests.unit.objects.test_trait.TestTraitObject.test_as_dict [0.028526s] ... ok
{1} ironic.tests.unit.objects.test_trait.TestTraitObject.test_create [0.022423s] ... ok
{1} ironic.tests.unit.objects.test_trait.TestTraitObject.test_create_list [0.021351s] ... ok
{1} ironic.tests.unit.objects.test_trait.TestTraitObject.test_destroy [0.027071s] ... ok
{1} ironic.tests.unit.objects.test_trait.TestTraitObject.test_destroy_list [0.025236s] ... ok
{1} ironic.tests.unit.objects.test_trait.TestTraitObject.test_exists [0.021161s] ... ok
{1} ironic.tests.unit.objects.test_trait.TestTraitObject.test_get_by_id [0.021346s] ... ok
{1} ironic.tests.unit.objects.test_trait.TestTraitObject.test_get_trait_names [0.020229s] ... ok
{1} ironic.tests.unit.pxe_filter.test_dnsmasq.TestSync.test_change_state [0.020609s] ... ok
{1} ironic.tests.unit.pxe_filter.test_dnsmasq.TestSync.test_deny_macs [0.038411s] ... ok
{1} ironic.tests.unit.pxe_filter.test_dnsmasq.TestSync.test_no_macs [0.022958s] ... ok
{1} ironic.tests.unit.pxe_filter.test_dnsmasq.TestSync.test_only_new_macs [0.022413s] ... ok
{1} ironic.tests.unit.pxe_filter.test_dnsmasq.TestSync.test_removed_nodes [0.020858s] ... ok
{1} ironic.tests.unit.pxe_filter.test_dnsmasq.TestUpdate.test_no_update [0.019989s] ... ok
{1} ironic.tests.unit.pxe_filter.test_dnsmasq.TestUpdate.test_only_allow [0.023783s] ... ok
{1} ironic.tests.unit.pxe_filter.test_dnsmasq.TestUpdate.test_only_deny [0.024930s] ... ok
{1} ironic.tests.unit.pxe_filter.test_service.TestSync.test_no_nodes [0.024895s] ... ok
{1} ironic.tests.unit.pxe_filter.test_service.TestSync.test_no_nodes_with_discovery [0.031094s] ... ok
{1} ironic.tests.unit.pxe_filter.test_service.TestSync.test_nothing_on_inspection [0.034476s] ... ok
{1} ironic.tests.unit.pxe_filter.test_service.TestSync.test_sync [0.046727s] ... ok
Exception ignored in: <function _TemporaryFileCloser.__del__ at 0x7f360d864160>
Traceback (most recent call last):
  File "/usr/lib64/python3.9/tempfile.py", line 461, in __del__
  File "/usr/lib64/python3.9/tempfile.py", line 457, in close
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/tmp33_avt6w/tmpahig6uhf'
======
Totals
======
Ran: 10061 tests in 340.2949 sec.
 - Passed: 10016
 - Skipped: 45
 - Expected Fail: 0
 - Unexpected Success: 0
 - Failed: 0
Sum of execute time for each test: 1009.9655 sec.
==============
Worker Balance
==============
 - Worker 0 (1959 tests) => 0:03:03.489494
 - Worker 1 (3366 tests) => 0:05:34.097298
 - Worker 2 (1934 tests) => 0:03:03.444226
 - Worker 3 (2802 tests) => 0:05:25.499675
Test id                                                                                                                        Runtime (s)
-----------------------------------------------------------------------------------------------------------------------------  -----------
ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_invalid_state                         9.056
ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_invalid_state                               9.052
ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_invalid_state                              9.049
ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_invalid_state                        9.044
ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_timeout                                     9.041
ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_timeout                               9.040
ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_timeout                              9.037
ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_fail_to_on  4.263
ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_timeout     3.085
ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_timeout  3.054
___________________________________ summary ____________________________________
  py39: commands succeeded
  congratulations :)
+ RPM_EC=0
++ jobs -p
+ exit 0
Processing files: openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.noarch
Provides: openstack-ironic = 1:29.1.0-0.20250530172209.0ef74c7.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.20250530172209.0ef74c7.el9.noarch
warning: File not found: /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64/usr/lib/python3.9/site-packages/ironic_tests.egg_info
Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.52JmLT
+ umask 022
+ cd /builddir/build/BUILD
+ cd ironic-29.1.0.dev140
+ DOCDIR=/builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.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.20250530172209.0ef74c7.el9.x86_64/usr/share/doc/openstack-ironic-common
+ cp -pr README.rst /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.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.20250530172209.0ef74c7.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.iit8jV
+ umask 022
+ cd /builddir/build/BUILD
+ cd ironic-29.1.0.dev140
+ LICENSEDIR=/builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.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.20250530172209.0ef74c7.el9.x86_64/usr/share/licenses/openstack-ironic-common
+ cp -pr LICENSE /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.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.20250530172209.0ef74c7.el9 openstack-ironic-common = 1:29.1.0-0.20250530172209.0ef74c7.el9 python3.9dist(ironic) = 29.1~~dev140 python3dist(ironic) = 29.1~~dev140
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.20250530172209.0ef74c7.el9.noarch
Provides: openstack-ironic-api = 1:29.1.0-0.20250530172209.0ef74c7.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.20250530172209.0ef74c7.el9.noarch
Provides: openstack-ironic-conductor = 1:29.1.0-0.20250530172209.0ef74c7.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.20250530172209.0ef74c7.el9.noarch
Provides: openstack-ironic-novncproxy = 1:29.1.0-0.20250530172209.0ef74c7.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.20250530172209.0ef74c7.el9.noarch
Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.ZNWm2H
+ umask 022
+ cd /builddir/build/BUILD
+ cd ironic-29.1.0.dev140
+ LICENSEDIR=/builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.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.20250530172209.0ef74c7.el9.x86_64/usr/share/licenses/openstack-ironic-dnsmasq-tftp-server
+ cp -pr LICENSE /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.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.20250530172209.0ef74c7.el9 openstack-ironic-dnsmasq-tftp-server = 1:29.1.0-0.20250530172209.0ef74c7.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.20250530172209.0ef74c7.el9.noarch
Provides: openstack-ironic-pxe-filter = 1:29.1.0-0.20250530172209.0ef74c7.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.20250530172209.0ef74c7.el9.noarch
Provides: python-ironic-tests = 1:29.1.0-0.20250530172209.0ef74c7.el9 python3-ironic-tests = 1:29.1.0-0.20250530172209.0ef74c7.el9 python3.9-ironic-tests = 1:29.1.0-0.20250530172209.0ef74c7.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.20250530172209.0ef74c7.el9
Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64
Wrote: /builddir/build/SRPMS/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.src.rpm
Wrote: /builddir/build/RPMS/openstack-ironic-api-29.1.0-0.20250530172209.0ef74c7.el9.noarch.rpm
Wrote: /builddir/build/RPMS/openstack-ironic-dnsmasq-tftp-server-29.1.0-0.20250530172209.0ef74c7.el9.noarch.rpm
Wrote: /builddir/build/RPMS/openstack-ironic-novncproxy-29.1.0-0.20250530172209.0ef74c7.el9.noarch.rpm
Wrote: /builddir/build/RPMS/openstack-ironic-pxe-filter-29.1.0-0.20250530172209.0ef74c7.el9.noarch.rpm
Wrote: /builddir/build/RPMS/openstack-ironic-conductor-29.1.0-0.20250530172209.0ef74c7.el9.noarch.rpm
Wrote: /builddir/build/RPMS/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.noarch.rpm
Wrote: /builddir/build/RPMS/openstack-ironic-common-29.1.0-0.20250530172209.0ef74c7.el9.noarch.rpm
Wrote: /builddir/build/RPMS/python3-ironic-tests-29.1.0-0.20250530172209.0ef74c7.el9.noarch.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.lTOzx4
+ umask 022
+ cd /builddir/build/BUILD
+ cd ironic-29.1.0.dev140
+ /usr/bin/rm -rf /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250530172209.0ef74c7.el9.x86_64
+ RPM_EC=0
++ jobs -p
+ exit 0
Child return code was: 0